« March 2008 | ص?حه اصلی | May 2008 »
تن هاي تنهاApril 27, 2008 01:35 PM
چند روز پيش با دوستي همدانشگاهي سابق تل?ني حر? مي زديم. دوستي که در زمان دانشجويي و سالهاي اول کار خاطرات خوبي باهم داشتيم، اما این سالها به خاطر مشغله کاری، کمتر همديگر را مي بينيم. نکته اي گ?ت که من را به ?کر ?رو برد، گ?ت: با وجوديکه شايد وضعمان نسبت به گذشته بهتر شده باشد، درآمد بيشتر و ر?اه بيشتري داشته باشيم، اما نسبت به گذشته "غمگين تر شده ايم". راست مي گ?ت.
خاطرات زمان دانشجويي را که مرور مي کنم، پر است از لحظات خوش. دوستي هاي بي ريا، لذت بردن هاي گروهي، شوخي هاي جوانانه، ت?ريحات سالم و ناسالم و ... اما اين روزها از آن دوستان همراه دانشگاهي، نيمي ايران نيستند و هريک در اين گوشه و آن گوشه پرت ا?تاده اند، تک و تنها. آن گروهي هم که ايران هستند، آنقدر درگير مشغله روزانه شده اند که به خود و خانواده خود برسند هنر کرده اند، نه ديگر وقتي، نه ?رصتي و شايد نه حوصله اي براي آنگونه با هم بودن هاي زمان دانشجويی. همه به شکلي تنها شده ايم. تنها هايي که به نظر در ميان جمعند و هر يک براي خود صاحب شغليي و مقامي. اما چه حي? که "غمگين تر شده ايم" دانشگاه که مي روم، حسرت مي خورم به دوران گذشته خودم وقتي دانشجوها را مي بيينم که چقدر شادند، چقدر با هم دوستند، چقدر از هم جدانشدني به نظر مي رسند و مي ترسم به آنها بگويم قدر اين روزها را بدانيد که اين دوستي ها با اين شکل زندگي ما پايدار نيست.
در زمان دانشجويي روزي از مهندس پوروطن-استاد آن زمان و دانشجوي سابق بهشتي- پرسيدم که هنوز از دوستان هم دانشگاهي کسي را مي بينيد، گ?ت بله اما ?قط يک ن?ر را زياد مي بينم گ?تم کيست؟ گ?ت همسرم! امروز گويي من هم به همان وضع آقاي پوروطن درآمده ام!بازهم جاي شکرش باقي است که ما يک ن?ر از هم دانشگاهي های خودمان را زياد مي بينيم.
همين!
Ali Vahed | 01:35 PM | Comment(s)(4)
جذب همکار جدید در رادمانApril 24, 2008 09:05 AM
با توجه به سنجش آمادگی ها و توانمندی های ا?راد متقاضی، در صدد جذب نیروهای جدید در بخشهای ?روش و خدمات پس از ?روش هستیم. جزییات بیشتر را «اینجا» بخوانید.
همین!
Ali Vahed | 09:05 AM | Comment(s)(0)
سخت ا?زار و نرم ا?زارApril 23, 2008 01:09 PM
- تعری? قدیم: مجموعه تجهیزات کامپیوتر را سخت ا?زار و دانش بکارگیری این تجهیزات را نرم ا?زار گویند.
- تعری? جدید: آن بخش از یک سیستم را که بتوان با چکش خرد کرد سخت ا?زار و آن قسمت را که ?قط می توان به آن ?حش داد را نرم ا?زار گویند!
همین!
پ. ن.: تعری? دوم از طریق ایمیل به دستم رسید، لذا کپی رایت آن را نمی دانم که متعلق به کیست، اگر دوستی منبع را می شناسد، معر?ی کند تا لینک بدهم. ممنون
Ali Vahed | 01:09 PM | Comment(s)(4)
اگر کامپيوتر نبود، تلويزيون براي سانسور ?يلمها چه مي کرد؟April 21, 2008 08:00 AM
رسانه ملي، براي ح?ظ آن چيزهايي که ارزشهاي جامعه مي شناسد، در اين سالها، چنان ?يلمها-چه خارجي و چه داخلي- را به دست قيچي سانسور و اصلاح سپرده است که در اکثر مواقع شخصيتها و نقششان در ?يلم يا عوض مي شود و يا اصلا حذ? مي شود ، داستان ?یلم از غربی به شرقی تغییر پیدا می کند و یا ?یلم نامه را کلا بازنویسی می کنند. گاهي اوقات در اينکار چنان ا?راطي به خرج داده مي شود که شما با يک ?يلم بي سروته يا مجموعه اي از سکانس هاي بدون ارتباط با هم مواجه مي شويد که به نام ?يلم به خورد شما داده مي شود. (من نمي دانم چه اصراري است ?يلمي که نيم ساعت آن بايد حذ? شود را انتخاب مي کنند و از تلويزيون پخش مي کنند، احترام به ?يلم ساز پيش کش، احترام به مخاطب کجا ر?ته است؟ ناسلامتي ما مردم داريم پول رسانه "ملي" را مي پردازيم، ?يلم روز و خوب را بي خيال شويد، همان ?يلمهاي سينماي خودمان که لازم است کمتر سانسور شوند را پخش کنيد، لط?ا)
پيشتر ها اگر تلويزيون را روشن مي کردم و قرار بود يک ?يلم سينمايي پخش بشود، پاي آن مي نشستم، اما اين روزها اگر روشن کنم و ببينم قرار است ?يلمي پخش شود، يا کانال را عوض مي کنم و يا با خيال راحت خاموشش مي کنم.
بگذريم ....
اين روزها، ?يلمهاي تلويزيون را که مي بينيم، مواجهيم با نوع جديدي از سانسور که حاصل است?اده از نرم ا?زارهاي ويرايش ?يلم است، از انواع زوم کردن، لباس پوشانيدن، تکرار يک صحنه براي زياد کردن زمان ?يلم تا کارهايي که براي ويرايش صدا وتصویر و یا جابجا کردن سکانس ها انجام مي شود.اين نوع جديد، اگر چه هنوز مانند سانسور کردن هاي قديمي آزار دهنده است و اعصاب مخاطب را به هم مي ريزد، اما لااقل تا بخشي کمک مي کند که شما داستان ?يلم -البته آنطور که دوستان رسانه ملي، ساخته اند- را متوجه شويد و از اينکه يک ساعت خود را پاي تلويزيون حرام کرده ايد پشيمان نشويد. خوشحالم که ن?وذ کاربردهاي کامپيوتر به حدي رسيده است که به ح?ظ آنچه دوستان ?کر مي کنند ما نبايد ببينيم و بشنويم کمک مي کند.
اميدوارم پيشر?تهاي نرم ا?زاري و سخت ا?زاري به حدي برسد که دوستان صدا و سيما، با دردسر کمتري هر کاري که دوست داشتند با يک ?يلم انجام بدهند، شخصيت جديدي وارد کنند، نوع پوشش بازيگران را کامل تغيير دهند و يا شخصيت مثبت را با من?ي عوض کنند و يا وي را وادار به انجام دادن يک کار و يا انجام ندادن يک کار بکنند. اميدوارم هوش مصنوعي (Artificial Intelligence) روزي به شکلي در اختيار صدا و سيما قرار گيرد که ديگر نيازي به هيات بازبيني ?يلم ها نباشد، بلکه مجموعه اي از عامل هاي هوشمند (Intelligent Agent)، با کمک مدلهاي يادگيري (Learning Models) و يا نمي دانم شبکه هاي عصبي (Neural Networks)، ?يلم را بازبيني کرده و عمليات سانسور و جرح و تعديل ?يلم را به صورت خودکار انجام دهند، که اگر دوستان صدا و سيما به چنين تکنولوژي دست يابند مي توانند با خيال راحت تماشاي کانالهاي ماهواره اي و ?يلمهاي روز را آنلاين کنند، به شکلي که به مثابه يک ديواره آتش(Fire wall) هر گونه "چيز" غير مجاز خود به خود حذ? شده و يا تغيير ماهيت دهد. اميدوارم به کمک اين دوستان خدا ما را به راه راست هدايت کند، اميدوارم ...
همين!
Ali Vahed | 08:00 AM | Comment(s)(4)
وب یا ویندوز... جمع بندی نهاییApril 19, 2008 09:11 AM
سه نوشته قبلی را اگر دنبال کرده باشید بحث انتخاب برنامه سازی تحت وب و یا برنامه سازی تحت ویندوز را دنبال کرده بودیم، در آخرین مطلب، یک جمع بندی بر بحث صورت می گیرد. دقت کنید که چنانچه در نوشته اول هم اشاره کردم برخی تولید کننده ها و یا مشتری ها بعضا در یک حالت "جو گیر شده"! از روی ناآگاهی و یا به شکل احساسی روی یک محیط تعصب به خرج می دهند و دیگری را به صورت کامل ن?ی می کنند، در حالیکه نمی توان هر کدام از این دو را به شکل کامل از رده خارج نمود، شاهد آنکه محیط های توسعه و ابزارهای برنامه سازی روی هر دو محیط هنوز هم در نسخه های جدید عرضه می شود و خواهد شد.
اگر بخواهیم در محیط های اداری انتخاب مناسبی داشته باشیم، به نظر می رسد باید به ملاک های زیر توجه کنیم:
- در محیط های با هد? تبادل اطلاعات نظیر سیستمهای اتوماسیون اداری، کارگروهی، مدیریت جریان کار، بولتن های الکترونیک و .... که نیاز به توزیع شدن روی بیشتر کامپیوتر ها را دارند و بیشتر به پردازش و به اشتراک گذاری متون و ?ایل ها می پردازند، برنامه های تحت وب روی شبکه اینترانت بهترین گزینه اند.
- در مسائلی که کاربر محدود به یک محدوده جغرا?یایی خاص نیست و یا به صورت عام متقاضی اطلاعات و سرویس هستند برای مثال در سیستمهای تجارت الکترونیک، شهر الکترونیک، دولت الکترونیک، بانک الکترونیک و ... که خدمات و سرویسهای عام المن?عه ارائه می کنند و مشتری می تواند کاربر نهایی (End User) نیز باشد، برنامه های تحت وب روی شبکه اینترنت مناسب هستند.
- در مسائل کاربردی که نیاز به پردازش اطلاعات، تعامل زیاد کاربران با نرم ا?زار و امکانات مناسب و سرعت قابل قبول روی نرم ا?زارهستیم مانند نرم ا?زارهای پردازش تراکنش (TPS) و یا سیستمهای دانش ?نی (KWS) سیستمهای تحت ویندوز (و یا به صورت کلی هر نوع Desktop Application) مناسب تر هستند.
- در مسائلی که دو وجه از مسائل ?وق را داشته باشند، اگر مسائلی نظیر هزینه تولید و سختی کار را در نظر نگیریم (که آنقدر مهم است که باید دیده شود) ترکیبی از این دو جواب گو است (win-web). برای مثال در یک سیستم مالی می توان اسناد را به صورت تحت ویندوز پیاده سازی کرد تا کاربران به سهولت اسناد را صادر و یا ثبت کنند و گزارشات مدیریتی را به صورت تحت وب در آورد تا مدیران بتوانند به گزارش مورد نیاز خود در داخل و یا خارج از سازمان به سهولت دسترسی پیدا کنند.
-...
طبیعتا در محیط های خانگی، دانشگاهی و یا .... نیز با توجه به کاربرد باید انتخاب مناسب را انجام داد.
نکته حائز اهمیت آنکه داشتن دو شکل برنامه سازی به صورت تحت وب و تحت ویندوز برای یک شرکت نرم ا?زاری کوچک و یا متوسط سخت است. این دشواری از ت?اوت روش ت?کر و تولید در هر دو روش، عدم توانایی است?اده از همه تیم در همه زمانها و آموزش توام دو روش می آید. راه حل آن است که :
- یک تیم قوی داشته باشید که توانایی پیاده سازی در هر دو محیط را داشته باشند. (سخت است، چون یک ن?ر ?رصت کا?ی در کسب مهارت را در هر دو زمینه ندارد و نهایتا در مورد یکی قوی و در مورد دیگر متوسط خواهد شد)
- یک معماری لایه ای انتخاب کنید با تنوع برنامه نویسانی که 1- لایه های پایینی (داده و کاربرد) را بسازند، 2- لایه واسط کاربری را در محیط تحت ویندوز بسازند و 3- لایه واسط کاربری در محیط تحت وب را بسازند. (به دلیل مشترک دیدن لایه های پایین هر چند کم هزینه ترین روش است اما برنامه آن کارایی برنامه های مستقل را نخواهد داشت)
-دو گروه برنامه نویس جدا داشته باشید که هر یک در یک محیط کار کنند. در نهایت در پروژه های ترکیبی (win-web) تنها پایگاه داده را مشترک کنید و هر کس برنامه خود را بنویسد (هزینه تولید بالا می رود و مدیریت چنین تیمی و تقسیم زمان کار و بیکاری آنان مشکل می شود)
- بی خیال یکی از روشها بشوید! یا بگویید نمی توانم و یا از طریق برونسپاری (Out sourcing) عمل کنید. (که طبعات خاص خود را خواهد داشت)
در نهایت باید به این نکته اشاره مجدد داشته باشم که یک تیم نرم ا?زاری ابتدا باید با توجه به مساله و محیط آن، بستر پیاده سازی را انتخاب کنید و سپس ?ارغ از محیط انتخاب شده، برنامه را به بهترین شکل ممکن پیاده سازی نماید. این تیم همواره باید به یاد داشته باشد که در مهندسی نرم ا?زار "نمی توان برای همه درد ها یک نسخه نوشت!" بلکه باید درد را شناخت، آزمایشات لازم را جهت تصدیق شناخت خود انجام داد و سپس راه حل مناسب را پیشنهاد نمود، اجرا کرد و بر مطابقت آن با پیش بینی و عدم انحرا? از نتایج دقت کرد.
متاس?انه ما مثل پزشکان اشتباهاتمان زیر خاک نخواهند ر?ت و نمی توان آنها را به سرنوشت و یا قسمت بیمار ربط داد! اشتباه ما آنقدر هویدا خواهد شد که ...
همین!
Ali Vahed | 09:11 AM | Comment(s)(2)
تحت وبApril 17, 2008 03:28 PM
در اين نوشته برخي مشخصات عمومي برنامه هاي تحت وب (web based applications) بررسي مي گردد. دقت کنيد در اين نوشته ما دنبال برنامه هاي کاربردي هستيم که در محيط web و بر مبناي پروتکل هاي آن پياده سازي شده اند. بنابراين اين برنامه ها را از م?هوم web site مجزا سازيد. ممکن است ما يک وب سايت خيلي خوب داشته باشيم اما برنامه تحت وب خوب روي آن موجود نباشد. نکته ديگر آنکه بستر اجراي برنامه هاي تحت وب مي تواند مت?اوت باشد، روش شبکه اينترنت براي کاربردهاي عمومي و يا توزيع شده، روي شبکه اينترانت يا اکسترانت براي کاربردهاي درون سازماني و يا برون سازماني. بنابراين در برخي بخشها و مزايا و معايب، اين خود برنامه نيست که مسبب اصلي است، بلکه اين بستر است?اده است که يا يک محدوديت و يا يک مزيت را براي ما به ارمغان مي آورد.
- مشخصات کلي:
برنامه هاي تحت وب معمولا برنامه هاي هستند که در بيش از سه لايه پياده سازي شده و اصطلاحا در گروه (Multi Layer applications ) قرار مي گيرند. در اين برنامه ها حداقل سه لايه واسط کاربري (User Interface Layer) که مي تواند روي يک کامپيوتر بسيار سبک اجرا شود (thin client) و توسط نرم ا?زارهايي استاندارد است?اده شود (مرورگرها يا Browsers) ، يک لايه کاربردي Bussiness Layer که روي يک application server اجرا شده است و يک لايه داده Data Layer که روي يک Data server وجود دارد اجرا مي شوند. (دقت کنيد به لحاظ سخت ا?زاري لزومي به سه تا ديدن آن نيست.) اين برنامه ها با بهره گيري از پروتکل هاي وب و TCP/IP با يکديگر به مبادله اطلاعات مي پردازند.
-مزايا:
صر? نظر از يک نرم ا?زار خاص و به صورت عمومي براي برنامه هاي تحت وب مزاياي زير متصور است:
-يکپارچگي با محيط هاي جديد کاربري که کاربران را قادر مي سازد از طريق يک مرورگر مشخص هم به داده ها و اطلاعات و هم به برنامه ها و کاربردها تواما دسترسي داشته باشند.
-توزيع شدگي: در صورت اجراي اين برنامه ها روي شبکه اينترنت، کاربران مي توانند بدون محدوديت جغرا?يايي و مکاني مشخص و صر?ا با داشتن يک نشاني يا آدرس خاص، به سيستم متصل شده، در صورت نياز پس از تعيين سطوح دسترسي از امکانات اين سيستم ها است?اده نمايند.
- پشتيباني سهل تر: چون روي کامپيوتر هاي Client نرم ا?زار خاصي نصب نمي شود، به سادگي و با به هنگام کردن برنامه يا داده روي سرور ، مي توان از اينکه کاربران به آخرين داده يا برنامه دسترسي دارند مطمئن شد.
-نگاه مت?اوت در طراحي واسط کاربري: به لحاظ حضور استانداردها يا تکنيک هايي نظير ابر متن (Hyper Link) ، XML، Ajax ، Comet و ... نگاه ديگري به انجام يک کاربرد مي شود که معمولا به سليقه کاربران جديد نزديک تر است. مخصوصا در محيط هاي پرتال (Portal servers) نگاه و معماري مبتني بر سرويس (Service Oriented) مي تواند جالب توجه باشد.
-عدم نياز به سخت ا?زار قوي و يا سيستم عامل خاص در سطح Client ها: همانگونه که اشاره شد به لحاظ تقسيم شدن پردازش در سطح Client و Server تنها بخش کوچکي در روي کامپيوتر هاي Clent اجرا مي شود (Clent Side) که بيشتر جنبه نمايشي و تنظيم واسط کاربري دارد و پردازش هاي اصلي که مرتبط با کار با داده و انجام پرس و جو ها را دارند بيشتر روي سرور (Server Side) صورت مي گيرد.
-...
- معايب:
- ساختار کند تر: به دو دلیل نرم ا?زار های تحت وب، نسبت به برنامه های تحت ویندوز کند تر هستند، یک دلیل آن نقش بازی کردن پهنای باند و سرعت تبادل اطلاعات روی شبکه است که با انتقال برنامه از محیط اینترنت به اینترانت و یا است?اده از اینترنت پرسرعت، می توان تا حدودی این مشکل را برطر? نمود. اما بحث دوم که خاصیت برنامه های تحت وب است، معماری Push و Pop رایج است که به دلیل ارسال مداوم درخواست ها از سمت Client به Server و Refresh شدن ص?حات بر اثر دریا?ت پاسخ رخ می دهد. این مساله باعث می شود، در هر بار بازخوانی ص?حه بخشی اطلاعات غیر ضروری مبادله شود و یا اینکه برای هر کاری نیاز به درخواست خاص خود و طرح آن با سرور باشد. در سمت Client در این سیستم ها معمولا به دلیل محدودیت Script ها تنها بخشی از عملیات نمایشی و تنظیمات صورت می گیرد. امروزه تلاش شده است با است?اده از تکنولوژی هایی نظیر Ajax همه ص?حه بازخوانی نشود و صر?ا آن دسته از اطلاعات مورد نیاز از سرور بارگذاری شود و یا از Comet برای ارسال خودکار اطلاعات بدون طرح تقاضای بازخوانی صریح از سمت Client برای ر?ع این نقص است?اده شود که هم هنوز به دلیل عدم پختگی کامل و وجود ابزارهای مناسب (هر چند این روزها مول?ه های زیادی به صورت ?روشی و یا متن باز در این زمینه وجود دارد) و هم به دلیل دانش برنامه نویسان قدیمی تر، است?اده محدود تر و پرهزینه تری دارند.
- نگاه ويژه به امنيت : در برنامه های تحت وب، شما باید نگاه ویژه تری به امنیت داشته باشید. اغلب مشاهده کرده ام که Data Layer و Application Layer روی یک سرور نه چندان مطمئن روی اینترنت و یا اینترانت قرار می گیرد که این مساله باعث می شود ریسک امنیتی و خطر حملات و ن?وذها بیشتر شود. در وب باید بیشتر از ویندوز توجه نشان داد به این مساله، چون در تحت ویندوز، خود حضور یک برنامه خاص روی Client که می تواند صر?ا درخواست های مجاز و محدود را به سمت سرور ارسال نماید بخشی از ریسکهای امنیتی ما را کاهش می دهد.
- سرور گران قيمت : چون اکثر حجم پردازش در سرور صورت می گیرد است?اده از سرورهای پرقدرت برای اینگونه برنامه ها پیشنهاد می شود. در برخی موارد که حجم تراکنش ها بالاست رعایت مواردی نظیر Load Balancing و توزیع کاربردها روی سرورهای مختل?، حائز اهمیت بوده که باعث می شود هم تهیه و هم نگهداری از اینگونه سرورها، مهم تر باشد.
- عدم توانايي کامل در ايجاد محيط هاي تعاملي : به لحاظ اینکه هنوز ابزارها و مول?ه های واسط کاربری تحت وب برای کارکردن مداوم یک کاربر روی نرم ا?زار مناسب نیست. کاربرانی که به عملیات ورود اطلاعات و یا صدور و ثبت اسناد زیاد و حجیم در سیستم مشغول هستند معمولا نیاز به ابزارها، میانبرها و امکاناتی هستند که بتوانند به درخواست های خود بسیار سریع دسترسی پیدا کنند. در برنامه های تحت وب، پیشتر این امکان غیر ممکن بود اما این روزها، تلاشهای خوبی هم در سطح تولید ابزارهای مناسب و هم در سطح تغییر نگرش به یک کاربرد از Function به Service صورت گر?ته است که هنوز به شکل کامل توسط برنامه نویسان ایرانی مورد است?اده قرار نگر?ته است.
-نصب و راه اندازي دشوار تر : به لحاظ اینکه باید شما در روی سرور محیط و بستر مناسب برای اجرای یک برنامه تحت وب را آماده کنید، این کار سخت تر از زمانی است که شما یک برنامه تحت ویندوز را نصب می کنید. در اکثر برنامه های تحت ویندوز شما با یک برنامه Installation طر? هستید که یا به صورت کامل و یا به صورت حداکثری عملیات نصب و تنظیم برنامه را انجام می دهند در سمت سرور هم شما کا?ی است یک DBMS (سیستم مدیریت پایگاه داده) نصب کرده و بانک اطلاعات خود را بارگذاری نمایید. در برنامه های تحت وب جدید تر که مبتنی بر یک CMS یا یک Portal Server هستند، وجود ابزارهای گام به گام wizards برای تنظیم برنامه و پایگاه داده کمک خوبی است، اما کامل نیست.
-...
دقت کنید، همانطور که پیشتر گ?ته ام مواردی که در مزایا و یا معایب برنامه های تحت وب و یا تحت ویندوز ذکر شد، مواردی است که در اینگونه برنامه ها به صورت عمومی یا?ت می شود و گرنه نمونه هایی وجود دارد که بر اثر تلاش و هزینه برنامه نویسی و یا است?اده یا عدم است?اده از تکنولوژی های خوب، بهتر یا بدتر از اینگونه برنامه ها باشند. علاوه بر این رشد و توسعه محیط ها، ابزارها، استانداردها و تکنولوژی هایی نظیر NET Framework. ، یا Ajax و یا J2EE باعث غنای بهتر و یا است?اده مناسب تر هم برنامه های تحت ویندوز و هم برنامه های تحت وب شده است.
در پست بعد تلاش می کنم یک جمع بندی بر این مبحث داشته باشم.
همین!
Ali Vahed | 03:28 PM | Comment(s)(4)
تحت ویندوزApril 14, 2008 02:58 PM
نوشته قبلی بازخوردهای خوبی داشت، از Comment هایی که دوستان، نظرات خود را به درستی مطرح کرده بودند تا نوشته ?راسان که با یک نگاه کارشناسی به این سوال پرداخته بود. برای اینکه بتوانم با کمک نظرات داده شده و داشته های خودم یک جمع بندی برای این پرسش داشته باشم در دو بخش به معر?ی قابلیت ها و محدودیت ها و در نتیجه کاربردهای این دو محیط می پردازم تا در نهایت بتوانیم یک ارزیابی کامل نسبت به این دو داشته باشیم. در نوشته اول به برنامه های تحت ویندوز (windows based application) و یا به طور کلی Desktop application ها خواهم پرداخت:
-مشخصات کلی:
نرم ا?زارهای این گروه یا به صورت تک کاربره (Single) و یا به صورت شبکه ای (معمولا به صورت Client/Server) ?عال هستند که در گروه اول، همه اطلاعات و برنامه پردازشی روی یک دستگاه و در مدل دوم برنامه اجرای مجزا از بانک اطلاعاتی روی دستگاه های کاربری و بانک اطلاعات روی یک کامپیوتر سرور قرارگر?ته است.
-مزایا:
به طور کلی مزایای عمومی این گروه از برنامه ها را صر? نظر از مزایا و یا معایب خاص یک نرم ا?زار در قیاس در مقابل برنامه های تحت وب می توان چنین برشمرد:
- رابط کاری قوی تر: در این نرم ا?زارها مجموعه ای توانمند از مول?ه های نرم ا?زاری (Component) ها در سطح واسط کاربری وجود دارند که یک GUI قوی و با امکانات برای نرم ا?زار پدید می آورند و کاربر است?اده کننده معمولا به سادگی با بهره گیری از ص?حه کلید و موس می تواند از همه ص?حه نمایش است?اده مؤثر داشته و به نیازهای خود بپردازد.
-سرعت در پردازش اطلاعات: به لحاظ حضور در یک کامپیوتر و یا در یک شبکه محلی (Lan) معمولا ترا?یک شبکه گلوگاه سیستم بشمار نر?ته و درخواست ها همیشه در یک زمان قابل پیش بینی پاسخ داده می شوند.
- امنیت: به لحاظ استقلال سیستم از دنیای خارج و نیز پردازش دستور ها در سطح برنامه در Clent و پاسخگویی به پرس و جو ها (query) در server امنیت این سیستم ها ساده تر تامین می شود.
- نزدیکی به کار کاربران عادی: کاربران عادی در سازمانها معمولا کمتر با محیط اینترنت به عنوان یک محیط عملیاتی آشنا هستند و بیشتر با اینگونه نرم ا?زار ها چه در سطح سیستم عامل و چه در سطح نرم ا?زارهای امور اداری (نظیر Office) کار کرده اند و با این نرم ا?زارها راحت تر آموزش خواهند دید.
- پیاده سازی روانتر: به دلیل پختگی ابزارهای پیاده سازی تحت ویندوز (Win 32 or .NET) سرعت و روانی ?رآیند تولید و خطایابی نرم ا?زار در این سیستمها ساده تر صورت می گیرد.
-ابزارهای گزارش گیری مناسب: معمولا ابزارهای گزارش گیری چه به صورت ایستا و چه به صورت پویا در سطح برنامه های تحت ویندوز بیشتر در دسترس بوده و قوی تر می باشند.(به جز ابزارهای مشترکی که در هر دو بخش وجود دارد) لذا است?اده از آنها در برنامه ها رایج تر بوده، گزارشات اینگونه سیستم ها معمولا قوی تر و پویا تر می باشند.
-است?اده مؤثر از امکانات سخت ا?زاری: به دلیل حضور برنامه روی Client و بانک اطلاعات روی Server ، از پهنای باند شبکه برای انتقال اطلاعات (برای مثال ?رمها، آیکون ها و تصاویر و ...) از سرور به cleint است?اده نمی شود و از همه قابلیت های پردازشی Client ها است?اده می شود. و نیازی به قدرت زیاد server نمی باشد و بسته به تعداد Clent ها و حجم Transaction ها می توان از کامپیوترهای ارزان قیمت تر برای Server است?اده نمود.
-...
- معایب: معایب عمومی این مدل برنامه سازی را می توان در موارد زیر جمع بندی نمود:
- پشتیبانی دشوار تر: به دلیل وجود برنامه EXE روی Client های مختل?، در صورت ارتقاء نرم ا?زار و یا ر?ع خطا، شما باید از تغییر همه ?ایل های اجرایی مطمئن شوید.
-محدودیت جغرا?یایی : به لحاظ است?اده از شبکه های محلی (LAN ) به عنوان بستر ?عالیت نرم ا?زار، کاربران نمی توانند به صورت توزیع شده و یا از راه دور در محل دلخواه به سیستم متصل شده و از آن است?اده کنند. (برنامه های معدودی که از طریق سرویس های RAS امکان کار از راه دور مثلا از طریق اتصال با خطوط تل?ن (نظیر برنامه های BBS) در این قسمت نادیده گر?ته شده اند، چون هم از لحاظ تنوع و هم از لحاظ حجم است?اده امروزه در اقلیت به سر می برند.)
- توزیع نشدگی: معمولا این سیستم ها به صورت مرکزی Central بوده و چنانچه در یک سازمان در چند مرکز نیاز به است?اده باشد، باید اتصال از طریق خطوط اختصاصی (نظیر روشهای بیسیم Point-to-Point و یا خطوط استیجاری leased Line و یا به صورت Dial Up و یا نهایتا VPN) حداکثر در سطح بانکهای اطلاعاتی هماهنگ سازی صورت گیرد (Replication)
-محدودیت Client ها: کامپیوترهای کاربران در این سیستمها باید در حد قابل قبولی باشد و از لحاظ سیستم عاملی نیز محدود به سیستم عامل خاصی نظیر windows باشد و کاربران نمی توانند از سیستم عامل های دیگر نظیر Linux و یا Mac OS است?اده کنند و یا به صورت موبایل (GPRS) از سیستم است?اده نمایند.
-دور بودن از روشهای جدید: معمولا کاربران جدید و جوان بر خلا? کاربران قدیمی تر با ?ضای اینترنت آشنایی بیشتری دارند و است?اده از نرم ا?زارهای تحت ویندوز برایشان دلچسب نیست.
مورد است?اده: به نظر می رسد اینگونه سیستمها برای کاربردهای زیر مناسب تر باشند:
- کاربردهای خانگی تک کاربره: نظیر برنامه های کاربردی ساده (Office) ، بازی های گرا?یکی قوی، ابزارهای مولتی مدیا، و نرم ا?زارهای ?نی و مهندسی
- کاربردهای اداری محدود در سطح یک شبکه محلی
- کاربردهای نیازمند به ابزارهای ورود اطلاعات و یا گزارش گیری مناسب
- نرم ا?زارهای با پردازش اطلاعات زیاد و حجیم
- نرم ا?زارهای تعاملی (Interactive) که حجم بالایی از تعامل را با کاربر دارند و نیاز به یک واسط کاربری (User Interface) قوی تر دارند.
و برای این کاربردها مناسب نیستند:
- کاربردهای توزیع شده که الزامی به حضور کاربر در یک محدوده جغرا?یایی خاص و یا یک بستر و سیستم عامل یکسان نمی باشد.
- برنامه های با سرعت بالای تغییر که پشتیبانی آنان در این حالت دشوار می باشد.
- نرم ا?زارهای عمومی که کاربران با سطح دانش و امکانات مختل? از سیستم است?اده می کنند.
-کاربردهای اطلاع رسانی که در آنها کاربر نه با هد? پردازش اطلاعات بلکه با هد? دریا?ت و یا تبادل اطلاعات به سیستم رجوع می کند.
- برنامه هایی که تعداد کاربران آن بالاست اما حجم تراکنش هر کدام از کاربران و تعامل آنان با نرم ا?زار پایین است. برای مثال در کاربردهایی که در بانک و یا تجارت الکترنیک، نیازمند ارائه سرویس به مشتری داریم (B2C و یا Internet Banking) که در آنها کاربر صر?ا یا یک تقاضای مشخص را مطرح می سازد و یا به حجم محدودی از اطلاعات دسترسی دارد.
در مطلب بعد به برنامه های تحت وب خواهم پرداخت. اگر در ?هرست های بالا نقصی دیدید مرا مطلع کنید، لط?ا!
همین!
Ali Vahed | 02:58 PM | Comment(s)(3)
وب یا ویندوز، مساله این است!April 5, 2008 10:57 AM
این روزها سوالی که اغلب مشتری از ما کامپیوتری ها می پرسند و یا در جمع های تخصصی در مورد آن بحث می کنیم، آن است که برنامه ها باید در چه محیطی ساخته شوند؟ به شکل Desktop Application و در محیط ویندوز (Windows Based ) ویا بر روی بستر اینترنت و یا اينترانت (Web based Application). اکثر مشتری ها در یک حرکت غیر منطقی و جو زده ترجیح می دهند به سمت برنامه های تحت وب بروند و تولید کنندگان هم به همین دلیل، سبک کار خود را بر اساس این نیاز قرارداده اند از سوی دیگر ماهیت خیلی از مسائل پیرامون الزاما، یا ترجیحا باید به صورت تحت ویندوز باشد. داستانی که تمامی ندارد: Trade Off
نظر شما در این زمینه چیست؟ تلاش می کنم در چند نوشته دیدگاه خودم را در مورد این قضیه تشریح کنم بدون آنکه قصد رسیدن به یک نتیجه قطعی را داشته باشم که می دانیم چنین نتیجه ای وجود ندارد...
همین!