وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

عشق 2 حرفی

همیشه خسته از روزای برفی
عشق پریشون شده ی دو حرفی
گفته بودم اگه دلت گرفتست
کنج دلم جا واسه ی دلت هست
شاید دلت خواست و پاهات نیومد
یا شایدم دلت باهات نیومد
هرچی که بود بذار که گفته باشم
هر جا که هست دلت منم باهاشم
گم شده ی دو حرفی
خسته ی روز برفی
گفته باشم هنوزم اگه دلت گرفتست
بیا که کنج قلبم جا واسه ی دلت هست
حالا که تقویم من زمستوناش زیاده
تو کوچه های سردش همیشه برف و باده

برای ایجاد شبکه کامپیوتری به چهارچیز نیاز دارید

1. کارت واسط شبکه Network Interface Card : (NIC) از مهمترین عناصر تشکیل دهنده شبکه است .
2. نرم افزار شبکه (سیستم عامل شبکه ) Network Operating System(Software) : (NOS)
3. کابل بندی شبکه Network Cabling : (NC)
این بخش را به دو دسته تقسیم میکنیم : بخش اول نقاط دستیابی به محیطهای انتقال شامل Router , Switch , Hub , Bridge , Repeater و ... : Access Points و بخش دوم چگونگی ارتباط کابلها با محیطهای انتقال شبکه
4. ترمینال های شبکه مانند PC , Notebook , Network Printer , Network Modem

کارت واسط شبکه Network Interface Card : NIC
کارتهای شبکه از نظر ساختاری به چند دسته تقسیم بندی میشوند . کارتهای شبکه دو نوع ( سه نوع ) از لحاظ استاندارد مورد استفاده وجود دارند این دسته بندی بر اساس نحوه ارتباط با مادربرد به شرح زیر است :
1. ISA/EISA : Architecture Standard Industry / Extended ISA
2. PCI Peripheral Components Industry :
3. USB : Universal Synchronous Bus

ISA : تجهیزات ISA تا سالهای 1999 و 2000 تولید میشدند . اما این تجهیزات بدلیل نواقصی زیادی که داشت با شکست مواجه شد . دو دلیل عمده این شکست به شرح زیر است :
1. اسلات های ISA ی نصب شده روی مادربرد با نصف سرعت باس مادربرد کار میکردند . که نتیجه آن کاهش خواندن و فرستادن اطلاعات به RAM بود .
2. در هر لحظه تنها یک اسلات اجازه استفاده از باس مادربرد را داشت و در صورتیکه دو اسلات همزمان به انتقال داده روی مادربرد میپرداختند هر دو از عمل خارج میشدند .

PCI : از مزایای این فناوری از بین رفتن دو مشکل عمده تکنولوژی ISA بود . در این فناوری هر اسلات با سرعت باس مادربرد و همزمان با اسلات های دیگر نیز میتوانست کار کند .

USB: کارتهای واسط را میتوان به نوعی سه دسته دانست که دسته سوم استفاده از ورودیهای USB میباشد . تکنولوژی استفاده شده در این تجهیزات عینا شبیه به PCI میباشد . (گذرگاه فراگیر(گسترده) همزمان )

دسته بندی شبکه از نظر نوع مبادله اطلاعات :
آسنکرون : در این شبکه داده های ارسالی تنها میتوانند از یک مسیر از مبدا به مقصد منتقل شوند و گذرگاه همیشه یکطرفه باقی میماند . اگر A فرستنده و B دریافت کننده باشد همیشه از A به B انتقال داده صورت میپذیرد .

دو نوع شبکه Synchronous داریم
1- دوطرفه غیر همزمان
2- دوطرفه همزمان
1- دوطرفه غیر همزمان : کارت شبکه A اطلاعات برای کارت B میفرستد و B تنها زمانیکه کارت A فرستادن را تمام کرده است جواب میدهد مثل برخی LAN ها . ( شبکه تلفن بین المللی بیسیم )
2- همزمان میتوانند اطلاعات را بفرستند و بگیرند ( تلفن شهری)
شبکه Asynchronous : یعنی فقط یک طرفه هستند ( رادیو ‍ تلویزیون )
درحاشیه :‌AGP نوعی PCI است .
در هر دو طرف شبکه و ترمینال اطلاعات دیجیتال هستند PCM
سمت ترمینال جریان موازی است و اطلاعات از / به رم بصورت موازی منتقل میشوند .
وظیفه کارت شبکه تبدیل اطلاعات از سریال به موازی و یا عکس آن میباشد .
همه شبکه های کامپیوتری سریال هستند بنابراین اطلاعات سریال وارد شبکه و موازی وارد RAM میشود . در TRX تبدیل به یک بیت در هر زمان جهت انتقال از کارت به شبکه میشود و اگر قرار باشد اطلاعات از شبکه به RAM برود TRX اطلاعات را موازی میکند .
EBC :Extended Bus Connector اتصال دهنده توسعه باس است . TX مخفف Transmitter و RX مخفف Reciever .
وظیفه CPU ی کارت شبکه کنترل کارت و عملیات تبدیلها را انجام میدهد .
کنترل عملیات کارت :
دستورالعملها و داده های برنامه همان درایور کارت شبکه است در RAM
پایین کارت دو قسمت داریم :
1- Boot ROM : بستگی به شبکه خودمان دارد که الزامی ندارد کارتهای شبکه ما از نوع Boot-Rom دار باشد .
یکی از ترمینال های شبکه باقی سیستم را بوت کند . یعنی از راه دور بتوان تجهیزات دیگر را بوت کرد .
مثل هارد و سی دی رام . بوت رام بصورت یک سوکت هست و فرضا برنامه مورد نظر را در یک EPROM مینویسی و انگاه در ان سوکت تعبیه شده روی کارت قرار میدهی . به کمک این این قطعه میتوان اجازه بوت شدن دیگر دستگاهها را بر عهده گرفت .
Jumper Address : اتصال دهنده ادرس است که اختیاری است . یک کارت شبکه معمولی نه بوت رام داد ونه جامپر آدرس .
هر کارت شبکه دارای یک آدرس فیزیکی منحصربفرد برای همان کارت شبکه است .
MAC Address : بصورت جهانی منحصر بفرد و ثابت است مانند آدرس تلفن .
Media Access Control Address آدرس کنترل و دستیابی محیط
یعنی کارت شبکه از طریق آدرس به کابلها متصل میشود بنابراین هر کارت شبکه یک MACAddress دارد بنابراین هر کارت شبکه برای ارسال اطلاعات به کارت دیگر بدنبال MAC Address کارتی که قصد ارتباط با آن را دارد را پیدا میکند . این ادرس در تمامی کارتهای شبکه موجود است .

یک MAC Address استاندارد 48 بیت طول دارد که 6 بایت میشود . که از دو بخش سه بایتی تشکیل میشود . 24 بیت اول مشخصات سازنده آن کارت شبکه است یعنی مثلا D-Link میباشد . 24 بیت دوم شماره سریال کارت شبکه است . که Unique و حک شده روی کارت میباشد .
Jumer Address : زمانی که یک MAC Address ماسک شده را استفاده کنیم حداقل این آدرس را از دید یک نفوذگر پنهان کرده ایم .
به یک ادرس فیزیکی میتوان n آدرس منطقی اختصاص داد .
سریال : ارسال و دریافت یک بیت در هر زمان .
موازی : ارسال و دریافت n بیت در هر زمان


webopedia.com
MAC مخفف Media Access Control Address میباشد . یک آدرس سخت افزاری منحصر بفرد که مشخص کننده هر node در شبکه میباشد . در IEEE 802 لایه DLC : Data Link Control از مدل مرجع OSI به دو زیر لایه تقسیم شده است : لایه LLC : Logical Link Control و لایه MAC : Media Access Control .
لایه MAC بصورت واسطه در رسانه شبکه قرار میگیرد . بنابراین هر رسانه شبکه ای به یک لایه MAC مجزا نیاز دارد .
در شبکه هایی که از استاندارد IEEE 802 پشتیبانی نمیکنند و بجای آن از مدل مرجع OSI استفاده میکنند ادرس node ها در شبکه را DLC مینامند .
Wikipedia.org
در شبکه های کامپیوتری MAC Address یک مشخص کننده unique که به بیشتر تجهیزات شبکه ای تعلق دارد میباشد . بیشتر پروتوکولهای شبکه لایه 2 از یکی از سه نوع شماره گذاری مدیریت شده توسط IEEE : MAC-48 و EUI-48 و EUI-64 استفاده میکنند که به گونه ای طراحی شده اند که بصورت جهانی منحصربفرد میباشند . همه پروتوکولها و تجهیزات شبکه به این آدرسها احتیاج ندارند . IEEE نام تجاری EUI-48 و EUI-64 را در بر میگیرد : EUI : Extended Unique Identifier
MAC Address استاندارد IEEE-802 که به MAC-48 معروف است از مشخصه های اترنت میباشد . طراحان میتوانند با این 48 بیت 248 آدرس یا 281,474,976,710,656 استفاده کنند .
هر سه نوع آدرس دهی سیستم ها از یک نوع آدرس دهی استفاده میکنند و تفاوت آنها در طول این مشخص کننده ها میباشد . سه هشت بیتی اول این آدرسها مشخص کننده سازمانی است که این مشخصه ها را پخش کرده است ، و به Organizational Unique Identifier : OUI موسوم میباشد . در سه هشت بیتی دوم در MAC-46 یا EUI-48 و همچنین پنج هشت بیتی دوم EUI-64 ، توسط سازمان تولید کننده همانطوری که خود دوست دارد آن را تعیین میکند . موسسه IEEE معتقد است حداقل تا سال 2100 میلادی آدرس های MAC-48 پایان نمیپذیرند . و EUI-64 نیز بنظر نمیرسد محدودیتی در این باره داشته باشد .
MAC Address که همیشه به محصول تولید شده توسط کارخانه سازنده پیوست شده است به Burned-in Addresses BIA یا Universally Administered Address UAA شناخته شده اند . BIA میتواند توسط Locally Administered Address : LAA بحالت override در بیاید . تکنولوژی های زیر از مشخص کننده MAC-48 استفاده میکنند :
Ethernet, Token ring, 802.11 wireless networks , BlueTooth , FDDI , ATM , SCSI and Fibre Channel

و EUI-64 نیز از تکنولوژی FireWire و IPv6 حمایت میکند .
تفاوت اصلی بین MAC-48 و EUI-48 آنستکه در MAC-48 مشخص کننده جهت سخت افزار شبکه میباشد و EUI-48 برای نرم افزار بیشتر کاربرد دارد . بنابراین EUI-48 چیزی متفاوت از MAC Address میباشد . هر چند ساختار آدرس دهی هر دو یکی است .
IEEE چندین آدرس ویژه برای یک NIC میتواند در نظر بگیرد :
BroadCast Address : همگی یک بیتی هستند که توسط تمامی ایستگاههای یک LAN قابل دریافت هستند .
MultiCast Address : توسط هر دوی Ethernet و FDDI استفاده میشود .
Functional Address : در Token Ring استفاده میشود .
EUI-64 با گونه ای تبدیل از هردوی MAC-48 و EUI-48 پشتیبانی میکند . برای تبدیل MAC-48 به EUI-48 کافیست OUI را کپی کنید دو FF-FF را به آن اضافه کنید . و سپس قسمت سازمانی را به آن کد اضافه کنید . برای تبدیل EUI-48 به EUI-64 از روش فوق استفاده میشود اما اینبار FF-FE را اضافه میکنید .
فورمت آدرس :
فورمت استاندارد برای چاپ MAC-48 استفاده از سه گروه کد مبنای 16 میباشد که با نقطه از هم جدا شده اند مثل : 0123.4567.89ab اما خیلی کم از این روش استفاده میشود و بجای آن استفاده از شش گروه عدد دوتایی مبنای شانزده میباشد که یا با : یا - از هم جدا میشوند :
01-23-45-67-89-ab یا 01:23:45:67:89:ab این فرم در EUI-64 نیز استفاده میشود .
عوض کردن MAC Address :
شاید بخواهید بدلیل مسایل امنیتی این آدرس را که توسط سیستم عامل خوانده میشود عوض کنید . بعضی ISP ها بگونه ای تنظیم شده اند که در صروتیکه MAC address روتر شما عوض شود کار نکند . بنابراین با استفاده از نرم افزارهایی میتوان یک MAC address ثابت داشت که این آدرس پس از بوت شدن دوباره سیستم به هر آنچه قبلا بوده است باز میگردد .
بنابراین چون MAC Address میتواند عوض شود نمیتوان از آن برای مسایل امنیتی بصورت یک کد منحصر بفرد قوی استفاده کرد . در IEEE 802.1x روش بهتری برای این کار وجود دراد .
تحت سیستم عامل لینوکس میتوانید آدرس MAC را بصورت زیر عوض کنید :
/etc/init.d/networking stop
ifconfig eth0 hw ether 00:01:02:03:04:08
/etc/init.d/networking start

در ویندوز میتوانید به روش زیر عمل کنید :
در منوی Properties آداپتور اترنت میتوانید در تب Advanced که MAC Address دارد MAC Address , Locally Administered Address , Ethernet Address یا Network Address را عوض کنید . بسته به آنکه اترنت شما چه درایوری دارد میتوانید به نام های خاصی آدرس خود را عوض کنید . تمامی درایورها از این تغییر نامها پشتیبانی نمیکنند .
به هر حال راه حل دیگری نیز که بهتر بنظر میرسد تغییر آن در رجیستری ویندوز میباشد :
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}

در اینجا هر تنظیماتی برای NIC را میتوانید پیدا کنید . محتویات رشته NetworkAddress حاوی MAC Address میباشد .
http://www-dcn.fnal.gov/DCG-Docs/mac/xp.html

نحوه رویت MAC Address در ویندوزهای XP و 2000
در command prompt خود در هنگامی که به شبکه وصل هستید دستور ipconfig/all را بزنید .
12 عددی که روبروی Physical Address می آیند MAC Address شما هستند .


تاریخچه زبان دلفی

تاریخچه مختصری از زبان دلفی از زمان پیدایش تا دلفی 6 به تفکیک نسخه‌های مختلف آن.

دلفی در واقع یک کامپایلر پاسکال است. دلفی 6 نسل جدید کامپایلر های پاسکال است که شرکت Borland از زمان ایجاد اولین نسخه پاسکال توسط Andres Hejlsberg در 15 سال پیش به بازار عرضه کرد.

برنامه نویسی به زبان پاسکال در سالیان سال از استواری و ثبات، زیبایی و ظرافت و البته سرعت بالای کامپایل سود برده است. دلفی هم از این قاعده مستثنی نیست. کامپایلر دلفی ترکیبی از بیش از یک دهه تجربه طراحی کامپایلر پاسکال و معماری بهبود یافته کامپایلر های 32 بیتی است. اگرچه قابلیت های کامپایلرها با گذشت زمان پیشرفت قابل توجهی داشته است ولی سرعت آن چندان کاهش نیافته و همچنان از سرعت بالایی برخوردار است. به علاوه استحکام و قدرت کامپایلر دلفی معیاری برای سنجش دیگر کامپایلر هاست.

در اینجا به بررسی تفصیلی روند حرکتی دلفی در هر یک از نسخه های آن می پردازیم و مشخصات مهم آن را بررسی می کنیم.

سال 1995 - Delphi1
در زمان استفاده از سیستم عامل DOS برنامه نویسان مجبور بودند از بین زبان پر قدرت ولی کم سرعت Basic و زبان کارآمد ولی پیچیده و نامفهوم Assembly یکی را انتخاب کنند. پاسکال با ارائه یک زبان ساخت یافته و یک کامپایلر سریع و کم نقص این شکاف را پرکرد. برنامه نویسان Windows 3.1 هم با تصمیم گیری مشابهی رو برو شدند. یکی زبان قدرتمند و سنگین ++C و یکی زبان ساده و محدود کننده Visual Basic .

ارائه Delphi1 در این مورد هم راه حل خوبی برای برنامه نویسان بود. دلفی مجموعه متفاوتی برای برنامه نویسی بود . طراحی و توسعه برنامه های کاربردی، ایجاد DLL ها، پایگاههای داده و ... که یک محیط ویژوال وسیع را تشکیل می داد. Delphi1 اولین ابزار برنامه نویسی ویندوز بود که محیط طراحی ویژوال، کامپایلر بهینه کد برنامه و دسترسی قوی به پایگاههای داده را در یک جا جمع کرد که آن را به یکی از بهترین ابزارهای روش نوین توسعه سریع نرم افزار (Rapid Application Development) تبدیل کرد. این مجموعه قدرتمند باعث شد که در همان زمان بسیاری از برنامه نویسان زبانهای دیگر به Delphi روی بیاورند و این موفقیت بزرگی برای Borland به حساب می آمد. همچنین بسیاری از برنامه نویسان پاسکال دلفی را ابزاری یافتند که توسط آن هم از توانایی و تجربه خود در برنامه نویسی پاسکال استفاده می کردند و هم توانایی کار در ویندوز را به دست آوردند. همچنین زبانی که در آن زمان با نام پاسکال شیئی (ObjectPascal) در دانشگاهها ایجاد شده بود یک زبان بسیار خشک و محدود کننده بود که اصلاٌ حالت کاربردی پیدا نکرد.

ویژگیهای دلفی مثل طراحی ظاهری حساب شده و کاربر پسند آن باعث شد که زبان پاسکال شیئی عملاٌ از رده خارج شود. تیم طراحی VB در Microsoft قبل از حضور دلفی هیچ رقیب مهمی برای خود نمی دید. VisualBasic در آن زمان زبانی نا کارآ ، کم سرعت و کند ذهن بود. Visual Basic 3 در عمل اصلا توانایی رقابت با Delphi 1 را نداشت. در این سال شرکت Borland گرفتار یک سری مشکلات قضائی با شرکت Lotus بود که در نهایت هم متخلف شناخته شد. همچنین درگیری مشابهی هم با Microsoft بر سر تلاش در تغییر دادن فضای نرم افزار های Microsoft پیدا کرد. همچنین Borland مشغول طراحی و فروش طرح Quatro به شرکت Novell و طراحی پایگاه های داده dBase و Paradox بود که با استقبال قابل توجهی مواجه نشد.

در این زمان که Borland مشغول فعالیتهای قضایی و تجاری بود Microsft توانست گوی سبقت را از Borland برباید و قسمت اعظم بازار ابزار های برنامه نویسی تحت Windows را در اختیار بگیرد و سعی می کرد تا این طرز فکر را اشاعه دهد که چون Windows را طراحی کرده صلاحیت و توانایی تهیه بهترین ابزار های برنامه نویسی تحت آن را نیز در دست دارد. در این شرایط Borland با عرضه Delphi و نسخه جدید ++Borland C سعی کرد خدشه ای در فرمانروایی Microsoft وارد کند و سهمی در بازار بزرگ این محصولات داشته باشد.

سال 1996 - Delphi2
یک سال بعد Delphi2 تمام مزایای نسخه قبلی را تحت سیستم های جدید 32 بیتی (Windows 95,Windows NT) ارائه داد. همچنین Delphi2 با ارائه خصوصیات اضافه و کارکرد های قویتری نسبت به Delphi1 توانایی های خود را افزایش داد. (ازجمله ارائه کامپایلر 32 بیتی که سرعت بالایی به نرم افزار ها می بخشید، کتابخانه بزرگ و کاملی از اشیای مختلف، شیوه جدید و تکامل یافته ای برای اتصال به پایگاه های داده مختلف، ادیتور پیشرفته، پشتیبانی از OLE ، توانایی وراثت در فرمهای ویژوال و سازگاری با پروژه های 16 بیتی Delphi1 ). Delphi2 به معیاری برای سنجش و مقایسه همه ابزارهای توسعه نرم افزار در آن زمان تبدیل شد.

در آن زمان با ارائه سیستم 32 بیتی Windows95جهش بزرگی در سیستم عامل Windows رخ داد و Borland بسیار مشتاق بود که Delphi را به بهترین ابزار برنامه نویسی سیستم جدید تبدیل کند. نکته این که در آن زمان به منظور تاثیر در افکار عمومی و تاکید بر قدرت Delphi در سیستم عامل 32 بیتی قرار بود که نرم افزار با نام جدید Delphi32 به بازار عرضه شود ولی در آخرین مراحل به خاطر اینکه نشان دهند این زبان زبانی رشد یافته و تکامل یافته نسخه قبلی یعنی Delphi1 است نام Delphi2 را برای آن انتخاب کردند.

Microsoft تلاش کرد که با Visual Basic 4 با Delphi مقابله کند ولی از ابتدا کیفیت پایین آن و ضعف آن در انتقال برنامه های 16 بیتی به سیستم 32 بیتی و بروز اشکالات ساختاری در طراحی آن موجب شکست زودهنگام Visual Basic 4 شد. در این زمان هنوز تعداد زیادی از برنامه نویسان به Visual Basic وفادار بودند. Borland هنچنین روشها و ابزارهای قدرتمندی همچون PowerBuilder برای طراحی نرم افزار های Client/Server ارائه داد ولی Delphi هنوز آن قدر قدرتمند نشده بود که بتواند نرم افزارهایی که جایی در بین توسعه گران پیدا کرده اند را براندازد.

سال 1997 - Delphi3
از زمان تهیه و توسعه Delphi1 تیم توسعه Delphi در فکر گسترش و ایجاد یک زبان قدرتمند جهانی بود. برای Delphi2 این تیم تمام نیروی خود را صرف اعمال مربوط به انتقال تواناییها و کارکرد ها به سیستم 32 بیتی و همچنین اضافه کردن خصوصیات Client/Server و پایگاه داده کرد. در زمان تهیه Delphi3 تیم توسعه فرصت لازم برای گسترش مجموعه ابزار موجود را یافت و در این راستا کیفیت و کمیت ابزارهای Delphi بهبود یافت. به علاوه راه حل هایی برای مشکلات عمده و قدیمی برنامه نویسان تحت ویندوز ارائه شد. به ویژه استفاده از برخی فناوری های پیچیده و نا مفهوم (مثل COM و ActiveX وتوسعه نرم افزار های تحت Web وکنترل پایگاههای داده چند کاربره). روش نمایش کد برنامه همچنین توانایی کامل کردن خودکار کد (Code Completion) عملیات کد نویسی را راحت تر کرد. ضمن این که همچنان در بیشتر موارد اساس و متدولوژی برنامه نویسی مانند Delphi1 بود و بر پایبندی به قوانین اصولی Pascal تاکید می شد.

در این زمان رقابت شرکت های تولید کننده ابزار های برنامه نویسی بسیار تنگاتنگ شده بود. Microsoft با ارائه Visual Basic 5 به پیشرفت های خوبی دست یافت ازجمله پشتیبانی قوی از COM و ActiveX و ایجاد برخی خصوصیات و تغییرات کلیدی و اساسی در کامپایلر VB. ضمن این در همین سال Borland با پشتوانه قوی Delphi و با استفاده از ساختار موفق آن ابزارهای دیگری همچون Forte و BC++ Builder به بازار عرضه کرد.

تیم Delphi در زمان طراحی Delphi3 چند تن از اعضای کلیدی خود را از دست داد. Andres Hejlsberg معمار اصلی Delphi در اقدام غیر منتظره ای Borland را ترک کرد و تصمیم گرفت به رقیب دیرینه یعنی Microsoft بپیوندد. اما حرکت تیم Delphi متوقف نشد و معاون Hejlsberg که سالها تجربه همکاری با او را داشت توانست رهبری این تیم را به خوبی در دست بگیرد. همچنین مسئول فنی تیم (Paul Gross) هم در اقدام مشابهی به گروه Microsoft ملحق شد. این تغییرات بیشتر به خاطر اختلافات شخصی بین افراد تیم بود و نه به خاطر مسائل حرفه ای.

سال 1998 - Delphi4
Delphi4 بیشتر بر روی راحتتر کردن کار با دلفی متمرکز شد. مرورگر روال ها (Module Explorer) بهبود یافت و مرور و ویرایش Unit ها را راحت تر کرد. کنترل کد و کامل کردن خودکار کلاسها این فرصت را به کاربر داد که فکر و زمان خود را روی ساختار اصلی برنامه بگذارد و در وقت صرفه جویی کند. طراحی رابط کاربر هم کاملاٌ عوض شد و بهبود یافت و اشکال زدا (Debugger) نیز پیشرفت قابل توجهی داشت. Delphi4 قابلیتهای برنامه نویسان را در استفاده از تکنولوژیهای چند منظوره خارجی مثل MIDAS ، DCOM ، MIS و Corba افزایش داد.

در این سال Delphi جایگاه خود را در رقابت با دیگران مستحکم کرده بود و کم کم به سمت دست یابی به سودآوری مالی مورد نظر خود پیش می رفت. در واقع در این زمان بود که حاصل کار سنگین چند ساله تیم نمایان می شد. بعد از سالها آزمایش Delphi شهرت و محبوبیت خاصی پیدا کرد و دیگر برنامه نویسان Delphi توانایی جدا شدن از آن را نداشتند. در این زمان Borland به کار سوٌال برانگیزی دست زد و به منظور تبلیغ بیشتر و برتری در جنگ روانی با دیگر شرکتها نام Inprise را برای فعالیتهای تجاری خود برگزید.

ابزار های مربوط به فن آوری Corba را گسترش داد تا راه جدیدی برای سودآوری ایجاد کند. برای موفقیت در این زمینه Corba نیاز به رابط کاربر قدرتمندی داشت که در کنار توانایی های آن کار کردن با آن نیز راحت باشد. دقیقاٌ همان کاری که در سالهای قبل در مورد COM و برنامه نویسی تحت Web انجام شده بود و به موفقیت دست یافته بود. با این وجود بنا به دلایل مختلفی این گسترش و توسعه Corba هیچ وقت تکامل و موفقیتی که مورد نظر بود را به دست نیاورد و بر خلاف تبلیغات و سرمایه گذاری های انجام شده فن آوری Corba تنها توانست نقش کوچکی در روند رو به جلوی Delphi ایفا کند.

سال 1999 - Delphi5
Delphi5 در برخی زمینه ها پیشرفت های قبلی را ادامه داده است. اولاٌ مسیری را که Delphi4 با اضافه کردن ویژگیهای زیادی شروع کرده بود ادامه داد. Delphi4 باعث شد کارهایی که قبلاٌ به صرف وقت زیادی احتیاج داشت بسیار سریعتر انجام شود. Delphi به شکل امیدوار کننده ای به برنامه نویس این امکان را می دهد که بیشتر به برنامه ای که میخواهد بنویسد توجه کند و نه به قواعد برنامه نویسی و نوشتن کد های تکراری و خسته کننده. این ویژگیهای سودمند شامل رابط کاربر بهبودیافته و سیستم اشکال زدایی(Debugger) توانمند ، امکانات برنامه نویسی تیمی و ابزار های ترجمه می شود.

ثانیا Delphi5 خصوصیات جدیدی را در بر می گیرد که توسعه برنامه های تحت وب را واقعاٌ راحت کرده است. این ویژگیها شامل طراح اشیای مربوط به ASP برای ساختن صفحات (Active Server Page)، اشیایی موسوم به Internet Express برای پشتیبانی از XML و خصوصیات جدید MIDAS که آن را به یک ابزار همه کاره در پایگاه های داده تحت Web تبدیل کرد. در نهایت با صرف وقت ، هزینه و صبر زیاد توانست Delphi5 قدرتمند را عرضه کند. این فعالیت مدتها به طول انجامید و قبل از عرضه عمومی، Delphi5 بارها در بازبینی ها و آزمایشهای داخلی قسمتهای مختلف آن تغییر کرد و بهبود یافت.

Delphi5 در نیمه دوم سال 1999 به بازار عرضه شد و به نفوذ و تسلط بر بازار ادامه داد. در این زمان Visual Basic که کم کم به عضوی تحقیر آمیز برای Microsoft تبدیل می شد هم با پیشرفتهایی توانست در رقابت دوام بیاورد و از صحنه خارج نشود. در اقدام درست و به جایی نام Inprise دوباره به Borland بازگشت. این اقدام از سوی طرفداران و مشتریان قدیمی Borland با استقبال خوبی مواجه شد.

سال 2001 – Delphi6
در هنگام تهیه Delphi6 ساختار Delphi در زمینه های مختلف شکل گرفته بود و به یک تکامل نسبی رسیده بود. این مسئله باعث شد که تیم طراحی بتواند وقت خود را بر روی طرحی که مدتها تنها در حد یک نظریه بود بگذارد و آن را بسیار زودتر از آن که انتظار می رفت عملی کند: گام نهادن به محیط های فراتر از Windows . بیشتر نیروی توسعه گران Delphi در این مدت صرف رهانیدن Delphi از بند Windows شد که این خود در درجه اول مبارزه ای آشکار با سلطه Microsoft بود و ثانیاٌ راه برنامه نویسان را به سوی فضا های دیگر برنامه نویسی باز کرد. در ابتدا این عمل ریسک بزرگی بود و بیم آن می رفت که جایگاه Delphi در Windows هم به خطر بیفتد ولی در نهایت به نقطه رشد و قوتی بدل شد که Delphi را به یکی از بهترین ابزار برنامه نویسی Multi Platform تبدیل کرد.تکنولوژی CLX روالهای مختلف Delphi را با Kylix (عضو جدید خانواده Borland که در فضای Linux کار می کند) به اشتراک گذاشت و استفاده از سیستم بایت Java باعث شد که Delphi حتی از قید سخت افزار هم رها شود.

به نظر می رسد که این فعالیتها باعث ثبات Delphi در دنیای برنامه نویسان شود و نگرانی های Borland و برنامه نویسان که همیشه می ترسیدند که مبادا با ضعیف شدن Windows جایگاه خود را از دست بدهند حال به افتخار و آرامش برای آنان و نگرانی برای طرفداران Microsoft تبدیل شده است.

منبع: Borland Delphi Developer's Guide, Essentials of Rapid Development Advanced Techniques

سایت‌های مرتبط