تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

                                       

  
    شروع   

  مقدمه  
  از کجا می بايست شروع کرد؟  

  مفاهيم برنامه نويسی  

  پياده سازی نرم افزار  
  نيازها و انتظارات  
  چالش های موجود 
  انواع معماری توليد نرم افزار  
  نمونه برنامه های سرويس دهنده / سرويس گيرند ه
  چالش های برنامه های توزيع شده  
  مدل پياده سازی نرم افزار بر اساس نوع خدمات  
  انواع مدل های فيزيکی پياده سازی C/S
  جمع بندی  

 مقدمه ای بر وب  

   اينترنت و وب  
  مفاهيم و تعاريف اوليه  
  جايگاه HTML  
  انواع صفحات وب  
  وضعيت فعلی وب و صفحات وب  

 تعاريف برنامه نويسی تحت وب  

  تعاريف  
  ارائه يک مدل همگراء و جامع  


 لايه رابط کاربر

  مفاهيم اوليه  
  جايگاه مرورگرها  
  روند تکامل و شکل گيری مرورگرها  
  معرفی تکنولوژی های مرتبط در لايه  
     Plug -In 
    Cookie   
    API  
    JavaScript 
    VBScript  
   JAVA  
   DOM  
   CSS  
   DHTML  
   XML  
   XSL  
   DTD  
   Schema  
   XML-DOM  
   Xpath 
  

   جمع بندی  

 لايه ارتباطی  

  مفاهيم  
  پروتکل TCP/IP
  پروتکل HTTP
 پروتکل S-HTTP
 
جمع بندی

 لايه ميانی  

  مفاهيم  
  معرفی تکنولوژی های مرتبط در لايه  
     CGI  
     SSI  
     PHP  
     ASP  
     JSP  
     CoulfFusion  
      جمع بندی      

 لايه داده  

  مفاهيم اوليه  
  چاش های دستيابی به داده در وب  
  دستيابی همگن به داده ها  
  معرفی تکنولوژی های مرتبط  
  جمع بندی  

 جمع بندی و راهکارها  

  معرفی دات نت  
  معرفی J2EE
 
روند توسعه نرم افزار های وب در آينده

 منابع  

  معرفی منابع  

  مفاهيم برنامه نويسی   
 انواع معماری توليد نرم افزار  

 

 

  از بدو مطرح شدن نرم افزار تاکنون ، معماری های متفاوتی بمنطور طراحی و پياده سازی ارائه شده است . معماری های فوق از يکطرف برخاسته از امکانات و ماهيت سخت افزار ها در زمان خود و از طرف ديگر نمايانگر نوع و نگرش انتظارات طرح شده توسط کاربران است . بخاطر داشته باشيم که نرم افزار دارای ماهيتی پويا بوده و در هر زمان می بايست خود را با خيل عظيم نيازها و انتظارات جديد کاربران تطبيق نمايد. چراکه نرم افزار عصاره خواسته های انسانی بمنظور بالفعل شدن بر روی بستر سخت افزار  در گذر زمان است . بديهی است از گذشته تاکنون، هم طيف خواسته های انسانی تغيير کرده و خواهد کرد و هم سخت افزارها دچار تغيير و تحول گسترده ای  بوده و خواهند بود. در اين راستا لازم است نرم افزار نيز با رعايت کامل اصل انعطاف پذيزی ، پذيرای تمامی تحولات از گذشته تاکنون بوده و بتواند در هر زمان رسالت  خود را بخوبی انجام دهد. بر همين اساس از گذشته تاکنون معماری های متفاوتی بمنظور طراحی و پياده سازی نرم افزار ارائه شده است . هر معماری دارای شاخص ها و ويژگی های منحصر بفرد خود بوده و نرم افزارهائی که با اتکاء بر هر يک از معماری های فوق پياده سازی می گردنند ، خصايص خود را از معماری بکارگرفته شده به ارث خواهند برد. در اين بخش به رفتارشناسی هر يک از معمارهای ذيل پرداخته تا از اين طريق زمينه های لازم بمنظور شناخت معماری بکارگرفته شده در برنامه های تحت وب فراهم گردد.

   معماری MainFrame

  •  ويژگی  :
    - معماری فوق در دهه های ۱
    ٩٦۰ الی ۱٩۷۰ مورد توجه و استفاده جدی قرار داشت .
    - کامپيوتر اصلی ( Host) مسئوليت انجام تمامی پردازش ها را برعهده دارد.
    - کاربران با استفاده از ترمينال ها ، قادر به ايجاد ارتباط با سيستم اصلی (host) می باشند.
    - ترمينال ها هوشمند نبوده و صرفا" به يک صفحه کليد و نمايشگر محدود می باشند.
    - فشردن کليدهای صفحه کليد ، تنها چيزی است که ارتباط بين کاربران(ترمينال ها ) و سيستم اصلی را معنی خواهد کرد.
    - داده ها و منطق برنامه بر روی يک سيستم (Host) يکسان ذخيره می گردنند. .
     

  •    مزايا  :
    - امنيت در اين نوع معماری بسيار بالا است  .
    - با توجه به تمرکز داده ها و منطق ، مديريت متمرکز و اعمال آن آسان خواهد بود.

  •    معايب   :
    - هزينه تهيه ، اجاره و پشتيبانی اين نوع سيستمها بسيار بالا است .
    - برنامه ( منطق ) بهمراه داده های مربوطه در يک محل مستقر و از يک محيط پردازش يکسان استفاده می کنند.
    - اغلب برنامه های نوشته شده بر اساس معماری فوق محيط های رابط کاربر گرافيکی را حمايت نمی نمايند
     

 مشاهده تصوير با ابعاد بزرگتر

   معماری File server

  •  ويژگی  :
    -  چرخش ۱
    ٨۰ درجه ای نسبت به معماری MainFrame.
    - از سرويس دهنده يا سرويس دهند گان متعدد، بصورت متمرکز استفاده می گردد.
    - منابع متفاوتی نظير چاپگر و يا فضای ذخيره سازی ( هارد ) به اشتراک گذاشته می شوند.
    - سرويس دهنده فايل های مورد نيازو ذخيره شده توسط منابع اشتراکی را برای کاربران ارسال خواهد کرد.
    - کار درخواست شده توسط کاربر ( منطق و داده ) بر روی سيستم کاربر اجراء خواهد شد.
    - منطق برنامه برروی سيستم کاربر ( سرويس گيرنده ) اجراء خواهد کرديد.
    - داده ها بر روی سرويس گيرنده مستقر خواهند شد.
     

  •    مزايا  :
    - برای استفاده  از معماری فوق نياز به صرف هزينه های بالا نخواهد بود  .
    - از لحاظ بکارگيری منابع دارای انعطاف پذيری مناسبی است .

  •    معايب   :
    - تمامی منطق برنامه بر روی سرويس گيرنده اجراء خواهد شد .
    - وجود محدوديت های خاص نظير ميزان حافظه و يا نوع پردازشگر سرويس گيرندگان، بکارگيری برنامه را با مشکل مواجه می سازد.
    - بهبود عملکرد برنامه و يا اعمال اصلاحات مورد نظر همواره يکی از چالش های جدی است .

 

 مشاهده تصوير با ابعاد بزرگتر

 

   معماری Client Server

  •  ويژگی  :
    -  در معماری فوق از سرويس دهند گان و سرويس گيرند گان  با خصايص متفاوت استفاده می شود.
    - اصل تقسيم کار دنبال و سرويس دهنده عمليات سنگين با پردازش بالا و سرويس گيرنده عمليات سبک را انجام خواهند داد.
    - دو بخش متفاوت يک برنامه ، در جهت انجام  عمليات با يکديگر تشريک مساعی می نمايند.
    - سرويس گيرنده با ارسال درخواست و سرويس دهنده با پاسخ به درخواست جلوه ای از همياری در پردازش عمليات را بنمايش می گذارند.
    - پلات فورم و سيستم های عامل سرويس دهنده و سرويس گيرنده می تواند متفاوت باشد.
    - عملياتی را که يک برنامه انجام می دهد بين سرويس دهنده و سرويس گيرنده تقسيم می گردد.
     

  •    مزايا  :
    - بهره گيری مناسب از پتانسيل های سخت افزاری موجود با توجه به اصل تقسيم عمليات ها
    - بهينه سازی استفاده و بکارگيری منابع اشتراکی  .
    - بهينه سازی توانائی کاربران از بعد  انجام فعاليت های متفاوت
     

  •    معايب   :
    - عدم وجود امکانات لازم  برای کپسوله نمودن سياست های راهبردی نرم افزار
    - کاهش کارائی برنامه همزمان با افزايش تعداد کاربران همزمان
    - بهبود عملکرد برنامه و يا اعمال اصلاحات مورد نظر همواره يکی از چالش های جدی است .

 

 مشاهده تصوير با ابعاد بزرگتر

 تاکنون مدل های متفاوتی از معماری فوق پياده سازی شده است .

  ۱ - پردازش های مبتنی بر ميزبان . مدل فوق بمنزله يک مدل سرويس دهنده / سرويس گيرنده تلقی نشده و مشابه مدل MainFarme است .

 مشاهده تصوير با ابعاد بزرگتر

 

 ۲ - پردازش های مبتنی بر سرويس دهنده . در اين مدل سرويس دهنده تمامی پردازش های مربوطه را انجام و سرويس گيرنده مسئوليت ايجاد بخش رابط کاربر را برعهده خواهد د اشت.

 مشاهده تصوير با ابعاد بزرگتر

 

 ۳ - پردازش های مبتنی بر سرويس گيرنده . تمامی عمليات بر روی سرويس گيرنده انجام خواهد شد. عمليات مربوط به بررسی صحت داده ها و ساير عمليات مربوط به منطق بانک های اطلاعاتی بر روی سرويس دهنده انجام خواهد شد.

 

 مشاهده تصوير با ابعاد بزرگتر

 

 ٤ - پردازش های مبتنی بر همياری .در اين مدل سرويس دهنده و سرويس گيرنده بمنظور انجام يک فعاليت با يکديگر تشريک مساعی خواهند کرد.

 مشاهده تصوير با ابعاد بزرگتر

 

   معماری Client Server : Two Tier

  •  ويژگی  :
    -  مشابه مدل Client Server در بخش قبل می باشد.
    - در اين مدل از يک سرويس دهنده و يک سرويس گيرنده در شبکه استفاده می گردد.
    - مدل فوق از سه بخش  که در دو لايه سرويس دهنده و سرويس گيرنده قرار خواهند گرفت، تشکيل می گردد.
    - بخش های رابط کاربر ، مديريت پردازش ها و مديريت بانک های اطلاعاتی بخش های سه گانه مدل فوق می باشند.
    - منطق برنامه بين دو محل فيزيکی توزيع می گردد.

     

  •    مزايا  :
    - مناسب ترين روش برای پردازش های توزيع شده در يک شبکه با حداکثر  يکصد  کاربر
    - سهولت در امر پياده سازی
    - نسبت دهی مستقيم رابط کاربر با منابع تامين داده ها
     

  •    معايب   :
    - عدم وجود امکاناتی برای کپسوله نمودن سياست های راهبردی نرم افزار
    - کاهش کارائی برنامه همزمان با افزايش تعداد کاربران همزمان ( بيش از يکصد )
    -عدم وچود انعطاف لازم از بعد انتقال يک برنامه از سرويس دهنده ای به سرويس دهنده ديگر بدون انجام تغييرات اساسی

 مشاهده تصوير با ابعاد بزرگتر

 

 معماری Client Server : Three Tier

  •  ويژگی  :
    -  مدل فوق در سال 1990 عرضه شده است .
    - در اين مدل از يک Tier ميانی ديگر بين سرويس گيرنده ( رابط کاربر) و سرويس دهنده بانک اطلاعاتی استفاده می شود.
    - لايه ميانی شامل مجموعه ای از ابزارها برای دستيابی به منابع سيستم ، صرفنظر از نوع پلات فورم  است .
    - لايه ميانی مسئوليت مديريت پردازش ها را برعهده خواهد گرفت .
    - لايه ميانی مسئوليت تجزيه و يا ترکيب نتايج حاصله از منابع داده ئی نظير بانک های اطلاعاتی را برعهده دارد.
    - بخش های رابط کاربر ، مديريت پردازش ها و مديريت بانک های اطلاعاتی بخش های سه گانه مدل فوق می باشند.
    - لايه ميانی خود می تواند به دو و يا بيش از دو بخش با عملکردهای متمايز تقسيم گردد (Multi-Tier)
    - مدل فوق گزينه ای مناسب برای پياده سازی نرم افزار بر روی اينترنت است .

     

  •    مزايا  :
    - افزايش کارآئی ، انعطاف پذيری ، قابليت استفاده مجدد و توان پشتيبانی
    - ارتقاء کارآئی همزمان با افزايش تعداد کاربران
    - مخفی نمودن پيچيدگی ها ی موجود با توجه به ماهيت پردازش های توزيع شده از ديد کاربران
    - ارائه امکانات لازم به برنامه نويسان بمنظور طراحی و پياده سازی نرم افزار ها با يک رويکرد مشابه
    - ارائه  امکانات لازم به برنامه نويسان بمنظور تبعيت از روش های يکسان برای دستيابی به داده ها
     

 

 مشاهده تصوير با ابعاد بزرگتر

 

 مشاهده تصوير با ابعاد بزرگتر

 << بخش بعدی