فناوری اطلاعات
فناوری اطلاعات

فناوری اطلاعات (فا) (به انگلیسی: Information Technology یا IT)، همان طور که به‌وسیله انجمن فناوری اطلاعات آمریکا (ITAA‎) تعریف شده‌است، «به مطالعه، طراحی، توسعه، پیاده‌سازی، پشتیبانی یا مدیریت سیستم‌های اطلاعاتی مبتنی بر رایانه، خصوصا برنامه‌های نرم‌افزاری و سخت‌افزار رایانه می‌پردازد». به طور کوتاه، فناوری اطلاعات با مسائلی مانند استفاده از رایانه‌های الکترونیکی و نرم‌افزار سروکار دارد تا تبدیل، ذخیره، حفاظت، پردازش، انتقال و بازیابی اطلاعات به شکلی مطمئن و امن انجام پذیرد.






اخیرا تغییر اندکی در این عبارت داده می‌شود تا این اصطلاح به طور روشن دایره ارتباطات مخابراتی را نیز شامل گردد. بنابراین عده‌ای بیشتر مایلند تا عبارت «فناوری اطلاعات و ارتباطات» (فاوا) (Information and Communications Technology) یا به اختصار ICT را به کار برند.






عناصر کاملا اصلی

فناوری اطلاعات متشکل از چهار عنصر اساسی انسان، ساز و کار، ابزار، ساختار است، به طوری که در این فناوری، اطلاعات از طریق زنجیره ارزشی که از بهم پیوستن این عناصر ایجاد می‌شود جریان یافته و پیوسته تعالی و تکامل سازمان را فراراه خود قرار می‌دهد:

انسان: منابع انسانی، مفاهیم و اندیشه، نوآوری
ساز و کار: قوانین، مقررات و روشها، سازوکارهای بهبود و رشد، سازوکارهای ارزش گذاری و مالی
ابزار: نرم‌افزار، سخت‌افزار، شبکه و ارتباطات
ساختار: سازمانی، فراسازمانی مرتبط، جهانی

بسیاری مفهوم فناوری اطلاعات را با کامپیوتر و انفورماتیک ادغام می‌کنند، این درحالیست که این‌ها ابزارهای فناوری اطلاعات می‌باشند نه تمامی آنچه که فناوری اطلاعات عرضه می‌کند. سید حامد خسروانی شریعتی در مقاله‌ای در همین زمینه آورده‌است که:" با فرض اینکه فناوری اطلاعات یک سیب باشد، کامپیوتر، شبکه، نرم‌افزار و دیگر ابزارهای مرتبط با این حوزه همانند دم سیب است که میوه توسط آن تغذیه می‌گردد، حال این خود سیب است که محصول اصلی است و هدف و نتیجه در آن خلاصه می‌گردد. "






زمینه‌های IT

امروزه معنای اصطلاح «فناوری اطلاعات» بسیار گسترده شده‌است و بسیاری از جنبه‌های محاسباتی و فناوری را دربر می‌گیرد و نسبت به گذشته شناخت این اصطلاح آسان‌تر شده‌است. چتر فناوری اطلاعات تقریباً بزرگ است و بسیاری از زمینه‌ها را پوشش می‌دهد. متخصص فناوری اطلاعات وظایف گوناگونی دارد، از نصب برنامه‌های کاربردی تا طراحی شبکه‌های پیچیده رایانه‌ای و پایگاه داده‌های اطلاعاتی. چند نمونه از زمینه‌های فعالیت متخصصین فناوری اطلاعات می‌تواند موارد زیر باشند: فناوری اطلاعات و علوم کتابداری و اطلاع رسانی ارتباط تنگاتنگی با هم دارند. Information Technology در ایران متولی اصلی فناوری اطلاعات و ارتباطات را وزارت ارتباطات و فناوری اطلاعات می‌دانند.






ابزارهای نرم‌افزاری مدیریت خدمات فناوری اطلاعات

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






فناوری اطلاعات در دانشگاه‌های ایران

در بیشتر کشورها این دانش در دانشگاه‌ها با عنوان رشته «فناوری اطلاعات» (Information Technology) شناخته می‌شود، در حالیکه در ایران بر اساس تصمیم سازمان آموزش عالی کشور عنوان «مهندسی فناوری اطلاعات» برای این رشته بکار برده می‌شود و رشته‌ای نیز تحت عنوان مهندسی فناوری اطلاعات و ارتباطات (ICT) به پیشنهاد وزارت ارتباطات و فناوری اطلاعات اخیراً در دانشگاههای ایران تدریس می‌شود همچنین رشته‌ای با عنوان فقط «فناوری اطلاعات» وجود ندارد. همچنین رشتهٔ میان‌رشته‌ای دیگری با عنوان رشته «مدیریت فناوری اطلاعات» در دانشگاه‌های ایران و دیگر کشورها وجود دارد که از ترکیب دو رشته "مدیریت" و «فناوری اطلاعات» به وجود آمده‌است. رشته مهندسی فناوری اطلاعات به چگونگی سازماندهی و ساماندهی داده‌ها می‌پردازد و رشته مدیریت فناوری اطلاعات به چگونگی تدوین سیستم و استفاده از داده‌ها می‌پردازد. هرکدام از این رشته‌ها دارای گرایش‌های ویژه خود هستند که در دانشگاه‌های ایران به شرح زیرند:







مهندسی فناوری اطلاعات:

تجارت الکترونیکی
سیستم‌های چندرسانه‌ای
مدیریت سیستم‌های اطلاعاتی
امنیت اطلاعات
شبکه‌های کامپیوتری






مهندسی فناوری اطلاعات (IT)

علم اطلاعات ودانش شناسی:

مدیریت اطلاعات
بازیابی اطلاعات ودانش
علم سنجی
اقتصاد و بازاریابی اطلاعات






مدیریت دانش

گرایش‌های رشته مدیریت فناوری اطلاعات:

مدیریت منابع اطلاعاتی
سیستم‌های اطلاعات پیشرفته
نظام کیفیت فراگیر
کسب و کار الکترونیک (کارشناسی ارشد)
مدیریت دانش (کارشناسی ارشد)
مدیریت رسانه (کارشناسی ارشد)






فناوری اطلاعات پزشکی (کاربرد فناوری اطلاعات در پزشکی)

گرایش‌های رشته مهندسی فناوری اطلاعات و ارتباطات:

مدیریت شبکه
دیتا و امنیت شبکه
ارتباطات سیار
مدیریت ارتباطات و فناوری اطلاعات
سیستمهای چند رسانه‌ای







دروس تخصصی مهندسی فناوری اطلاعات

درس‌های تخصصی کارشناسی مهندسی فناوری اطلاعات عبارتند از:

مبانی فناوری اطلاعات
مهندسی فناوری اطلاعات
تجارت الکترونیکی
مدیریت و کنترل پروژه‌های فناوری اطلاعات
برنامه‌ریزی استراتژیک فناوری اطلاعات
آموزش الکترونیکی
محیط‌های چند رسانه‌ای
پروژه فناوری اطلاعات
کارآموزی IT
گرافیک کامپیوتری
ریاضی







فناوری اطلاعات در ایران

در ایران همیشه بحث بر سر متولی اصلی فناوری اطلاعات وجود داشت تا با تغییر نام وزارت پست و تلگراف و تلفن در سال ۱۳۸۲ به وزارت ارتباطات و فناوری اطلاعات و مهمتر از آن ایجاد معاونت فناوری اطلاعات وزارت ارتباطات، خود را متولی اصلی فناوری اطلاعات در کشور مطرح ساخت. از این سال به بعد توسعه همه‌جانبه‌ای در این وزارتخانه صورت گرفت تا شرکتها و مراکز متعددی زیر مجموعه آن تشکل یافتند و هر یک از آنها با توانمندیها و فعالیتهای بسیار، تحولات فراوانی را شکل داده و باعث گسترش وضع ارتباطی کشور در بخش‌های پست و مخابرات شدند. معاونت فناوری اطلاعات به منظور تدوین راهبردها، سیاستها، برنامه‌های بلند مدت و اهداف کیفی و کمی بخش توسعه فناوری اطلاعات و ارائه آن به شورای عالی فناوری اطلاعات معاونتی تحت عنوان معاونت فناوری اطلاعات در ساختار سازمانی وزارت ارتباطات و فناوری اطلاعات در نظر گرفته شد. و کم‌کم سازمانهایی مثل سازمان فناوری اطلاعات و ارتباطات زیرساخت نیز در این رابطه شکل گرفتند.





تجارت الکترونیک

تجارت الکترونیک (به انگلیسی: Electronic commerce) فرایند خرید، فروش یا تبادل محصولات، خدمات و اطلاعات از طریق شبکه‌های کامپیوتری و اینترنت است.






تاریخچه

ارتباط بین تجارت و تکنولوژی دیر زمانی است که وجود داشته و ادامه دارد. در واقع، یک پیشرفت تکنیکی باعث رونق تجارت شد و آن هم ساخت کشتی بود. در حدود ۲۰۰۰سال قبل از میلاد، فینیقیان تکنیک ساخت کشتی را بکار بردند تا از دریا بگذرند و به سرزمین‌های دور دست یابند. با این پیشرفت، برای اولین بار مرزهای جغرافیایی برای تجارت باز شد و تجارت با سرزمین‌های دیگر آغاز گشته و روشهای خلاقانه ای بصورتهای گوناگون به آن اضافه شد تا امروز که یکی از محبوبترین روشهای تجارت خرید اینترنتی در دنیای وب است. شما می‌توانید در زمانهای پرت، در هر زمان و مکان حتی با لباس خواب می‌توانید اینکار را بکنید. به معنای واقعی هر کسی می‌تواند صفحه اینترنتی خود را ساخته و کالاهای مورد نیازش را در آن ارایه دهد. البته تاریخچه تجارت الکترونیک با تاریخچه اختراعات قدیمی مثل کابل، مودم، الکترونیک، کامپیوتر و اینترنت پیوند خورده‌است. تجارت الکترونیک به شکل کنونی در سال ۱۹۹۱ محقق شد. از آن زمان هزاران هزار کسب و کار و تجار وارد این دنیا شده‌اند. در ابتدا تجارت الکترونیک به معنای فرایند انجام اعمال تراکنش الکترونیکی مورد نظر را انجام دادن بود.درواقع تجارت الکترونیک برای اسان سازی معاملات اقتصادی به صورت الکترونیک تعریف شد. استفاده از این فناوری مانند Electronic Data Interchange (EDI)تبادل الکترونیکی اطلاعات وElectronic Funds TRANSFER (EFT) انتقال الکترونیکی سرمایه، که هر دو در اواخر ۱۹۷۰ معرفی شده‌اند. و به شرکتها و سازمان‌ها اجازه ارسال اسناد الکترونیکی را داد. و اجازه تجارت کردن با ارسال اسناد تجاری مثل سفارشهای خرید یا فاکتورها را به صورت الکترونیکی، می‌دهد. با رشد و پذیرش کارت اعتباری،(ATM) Automated teller machine ماشین تحویلدار خودکار و تلفن بانک در دهه ۱۹۸۰ باعث فرم گیری تجارت الکترونیک شد. نوع دیگر تجارت الکترونیک سیستم رزرواسیون هواپیمایی بوسیله Sabre در امریکا و Travicom در بریتانیا، ارایه شده‌است. از دهه ۱۹۹۰ به بعد تجارت الکترونیک شامل اضافاتی مثل enterprise resource planning system (ERP) سیستم برنامه ریزی منابع سرمایه، data mining داده کاوی، data warehousing انبار داده شده‌است. در ۱۹۹۰، Tim Bermers-lee مرورگر وب جهان گسترده را اختراع کرد و شبکه ارتباطی اکادمیک را به سیستم ارتباطی هرروز و برای هر شخص در جهان وسیع دگرگون ساخت که اینترنت یا www خوانده می‌شود. سرمایه گذاری تجاری بروی اینترنت بخاطر کافی نبودن سرمایه گذاری کاملاً محدود شده بود. اگر چه اینترنت محبوبیت جهانی گسترده‌ای در حدود ۱۹۹۴ با استفاده از مرورگر وب Mosaic پیدا کرده بود. معرفی پروتکلهای امنیتی و DSL (اشتراک خط دیجیتال) که ارتباط مستمر را با اینترنت را اجازه می‌داد حدود ۵ سال طول کشید.. البته در سال ۲۰۰۰ بحران The dot-com bust باعث برشکستگی خیلی از شرکت‌های تجاری بزرگ و نتایج ناگواری را بوجود اورد، باعث بازبینی قوانین و افزایش مزایا و امکانات تجارت الکترونیک کردند و تا انتهای سال ۲۰۰۰، خیلی از شرکتهای تجاری امریکایی و اروپایی سرویس هایشان را از طریق اینترنت ارایه دادند. از ان موقع مردم به کلمه‌ای به عنوان تجارت الکترونیک با توانایی خرید کالاهای گوناگون از طریق اینترنت با استفاده از پروتکل‌های امنیتی و سرویس‌های پرداخت الکترونیکی که در ان مشارکت کردند، اشنا شدند. واز این زمان رقابت شدید بین شرکت‌ها و سازمانها شدت گرفتو با گذشت زمان هم اینرقابت تنگتر شده‌است. جالب این که تا پایان سال ۲۰۰۱ بیش از ۲۲۰ بیلیون دلار معاملات مالی توسط صدها سایت تجاری بر روی اینترنت انجام پذیرفته‌است و در همین سال مدل تجارت الکترونیک B2B دارای در حدود ۷۰۰ میلیارد تراکنش بود. و در سال ۲۰۰۷ سهم تجارت الکترونیک در خرده فروشی کل دنیا ۳٫۴ % بوده‌است که انرا در سال ۲۰۱۰، ۵٫۱ % اعلام نمودند که این امار رشد سریع این شیوه تجارت کردن را می رساند.






سیر زمانی

۱۹۷۹: Michael Aldrich خرید آنلاین را اختراع کرد

۱۹۸۱: Thomson Holidays اولین خرید انلاین B2B را در بریتانیا ایجاد کرد.

۱۹۸۲: Minitel سیستم سراسر کشور را در فرانسه بوسیله France Telecom و برای سفارش گیری انلاین استفاده شده‌است.

۱۹۸۴: Gateshead اولین خرید انلاین B2C را بنام SIS/Tesco و خانم Snowball در ۷۲ اولین فروش خانگی انلاین را راه انداخت.

۱۹۸۵: Nissan فروش ماشین و سرمایه گذاری با بررسی اعتبار مشتری به صورت انلاین از نمایندگی‌های فروش

۱۹۸۷: Swreg شروع به فراهم اوردن ومولف‌های اشتراک افزار و نرم‌افزار به منظور فروش انلاین محصولاتشان از طریق مکانیسم حسابهای الکترونیکی بازرگانی.

۱۹۹۰: Tim Berners-Lee اولین مرورگر وب را نوشت، وب جهان گستر، استفاده از کامپیوترهای جدید

۱۹۹۴: راهبر وب گرد: Netscape در اکتبر با نام تجاری Mozilla ارایه شد. Pizza Hut در صففحه وب سفارش دادن انلاین را پیشنهاد داد. اولین بانک انلاین باز شد. تلاشها برای پیشنهاد تحویل گل و اشتراک مجله به صورت انلاین شروع شد. لوازم بزرگسالان مثل انجام دادن ماشین و دوچرخه به صورت تجاری در دسترس قرار گرفت. Netscape 1.0 در اواخر ۱۹۹۴ با رمزگذاری SSL که تعاملات مطمئن را ایجاد می‌کرد، معرفی شد.

۱۹۹۵: Jeff Bezos، Amazon.com و اولین تجارتی ۲۴ ساعته رایگان را راه انداخت. ایستگاه‌های رادیوی اینترنتی رایگان، رادیو HK ورادیوهای شبکه‌ای شروع به پخش کردند. Dell و Cisco به شدت از اینترنت برای تعاملات تجاری استفاده کردند. eBay توسط Pierre Omidyar برنامه نویس کامپیوتر به عنوان وب سایت حراج بنیانگذاری شد.

۱۹۹۸: توانایی خریداری و بارگذاری تمبر پستی الکترونیکی برای چاپ از اینترنت. گروه Alibaba در چین با خدمات B2B و C2C, B2C را با سیستم خود تاییدی تاسیس شد.

۱۹۹۹: Business.com به مبلغ ۷٫۵ میلیون دلار به شرکتهای الکترونیکی فروخته شد. که در سال ۱۹۹۷ به ۱۴۹٬۰۰۰ دلار خریداری شده بود. نرم‌افزار اشتراک گذاری فایل Napster راه اندازی شد. فروشگاه‌های ATG برای فروش اقلام زینتی خانه به صورت انلاین راه اندازی شد.

۲۰۰۰: The dot-com bust

۲۰۰۲: ای‌بی برای پی‌پال ۱٫۵ میلیون دلار بدست اورد. Niche شرکت‌های خرده فروشی و فروشگاه‌های CSN و فروشگاهای شبکه‌ای را با منظور فروش محصولات از طریق ناحیه‌های هدف مختلف نسبت به یک درگاه متمرکز.

۲۰۰۳: Amazon.com اولین سود سالیانه خود را اعلان کرد.

۲۰۰۷: Business.com بوسیله R.H. Donnelley با ۳۴۵ میلیون دلار خریداری شد.

۲۰۰۹: Zappos.com توسط Amazon.com با قیمت ۹۲۸ میلیون دلار خریداری شد. تقارب خرده فروشان و خرید اپراتورهای فروش وبسایتهای خصوصی RueLaLa.com بوسیله GSI Commerce به قیمت ۱۷۰ میلیون دلار بعلاوه سود فروش از تا سال ۲۰۱۲.

۲۰۱۰: Groupon گزارش داد پیشنهاد ۶ میلیار دلاری گوگل را رد کرده‌است. در عوض این گروه طرح خرید وب سایتهای IPO را تا اواسط ۲۰۱۱ دارد.

۲۰۱۱: پروژه تجارت الکترونیک امریکا و خرده فروشی انلاین به ۱۹۷ میلیارد دلار رسیده‌است که نسبت به ۲۰۱۰ افزایش ۱۲ درصدی داشته‌است. Quidsi.com, parent company of Diapers.comتوسط Amazon.com به قیمت ۵۰۰ میلیون بعلاوه ۴۵ میلیون بدهکاری و تعهدات دیگر خریداری شد.






چکیده

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

در مدت کوتاهی که از آغاز عمر تجارت الکترونیک در جهان معاصر می‌گذرد، این فعالیت رشد بی سابقه‌ای را در کشورهای پیشرفته داشته‌است و پیش بینی می‌شود در آینده نزدیک با سرعت شگفت انگیزی در سطح جهان توسعه یابد. بر اساس آمار محاسبه شده موسسات معتبر اقتصادی نیز پیش بینی شده‌است که گستره این فعالیت تا سال ۲۰۱۰ به طور متوسط ۵۴ الی ۷۱ درصد رشد خواهد کرد که نشان دهنده شتاب دار بودن حرکت آن است.






در ایران

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






انواع تجارت الکترونیک

تجارت الکترونیک را می‌توان از حیث تراکنش‌ها(Transactions) به انواع مختلفی تقسیم نمود که بعضی از آنها عبارتند از:

ارتباط بنگاه و بنگاه (B2B): به الگویی از تجارت الکترونیکی گویند، که طرفین معامله بنگاه‌ها هستند.
ارتباط بنگاه و مصرف کننده (B2C): به الگویی از تجارت الکترونیک گویند که بسیار رایج بوده و ارتباط تجاری مستقیم بین شرکتها و مشتریان می‌باشد.
ارتباط مصرف کننده‌ها و شرکتها (C2B): در این حالت اشخاص حقیقی به کمک اینترنت فراورده‌ها یا خدمات خود را به شرکتها می‌فروشند.
ارتباط مصرف‌کننده با مصرف‌کننده (C2C): در این حالت ارتباط خرید و فروش بین مصرف‌کنندگان است.
ارتباط بین بنگاه‌ها و سازمان‌های دولتی (B2A): که شامل تمام تعاملات تجاری بین شرکتها و سازمانهای دولتی می‌باشد. پرداخت مالیاتها و عوارض از این قبیل تعاملات محسوب می‌شوند.
ارتباط بین دولت و شهروندان (G2C): الگویی بین دولت و توده مردم می‌باشد که شامل بنگاه‌های اقتصادی، موسسات دولتی و کلیه شهروندان می‌باشد. این الگو یکی از مولفه‌های دولت الکترونیک می‌باشد.
ارتباط بین دولت‌ها (G2G): این الگو شامل ارتباط تجاری بین دولتها در زمینه‌هایی شبیه واردات و صادرات می‌باشد.


البته باید گفت که انواع بالا کاملاً مستقل از هم نیستند و گاهی که تاکید بر خرید و فروش ندارند در قالب کسب و کار الکترونیک می‌آیند






ابزارها

ایمیل
فروشگاه اینترنتی
ابزار پیام سریع
پول الکترونیکی






امنیت اطلاعات
تعریف امنیت اطلاعات

امنیت اطلاعات یعنی حفاظت اطلاعات و سیستم‌های اطلاعاتی از فعالیت‌های غیرمجاز. این فعالیت‌ها عبارتند از دسترسی، استفاده، افشاء، خواندن، نسخه برداری یا ضبط، خراب کردن، تغییر، دستکاری.

واژه‌های امنیت اطلاعات، امنیت کامپیوتری و اطلاعات مطمئن گاه به اشتباه به جای هم بکار برده می‌شود. اگر چه اینها موضوعات به هم مرتبط هستند و همگی دارای هدف مشترک حفظ محرمانگی اطلاعات، یکپارچه بودن اطلاعات و قابل دسترس بودن را دارند ولی تفاوت‌های ظریفی بین آنها وجود دارد. این تفاوت‌ها در درجه اول در رویکرد به موضوع امنیت اطلاعات، روش‌های استفاده شده برای حل مسئله، و موضوعاتی که تمرکز کرده‌اند دارد.

امنیت اطلاعات به محرمانگی، یکپارچگی و در دسترس بودن داده‌ها مربوط است بدون در نظر گرفتن فرم اطلاعات اعم از الکترونیکی، چاپ، و یا اشکال دیگر.

امنیت کامپیوتر در حصول اطمینان از در دسترس بودن و عملکرد صحیح سیستم کامپیوتری تمرکز دارد بدون نگرانی از اطلاعاتی که توسط این سیستم کامپیوتری ذخیره یا پردازش می‌شود.

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

برای افراد، امنیت اطلاعات تاثیر معناداری بر حریم خصوصی دارد. البته در فرهنگ‌های مختلف این مفهوم حریم خصوصی تعبیرهای متفاوتی دارد.

بحث امنیت اطلاعات در سال‌های اخیر به میزان قابل توجهی رشد کرده است و تکامل یافته است. راههای بسیاری برای ورود به این حوزه کاری به عنوان یک حرفه وجود دارد. موضوعات تخصصی گوناگونی وجود دارد از جمله: تامین امنیت شبکه (ها) و زیرساخت ها، تامین امنیت برنامه‌های کاربردی و پایگاه داده ها، تست امنیت، حسابرسی و بررسی سیستم‌های اطلاعاتی، برنامه ریزی تداوم تجارت و بررسی جرائم الکترونیکی، و غیره.







تاریخچه

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

با رشد سریع و استفاده گسترده از پردازش الکترونیکی داده‌ها و کسب و کار الکترونیک از طریق اینترنت، همراه با ظهور بسیاری از خرابکاریهای بین‌المللی، نیاز به روش‌های بهتر حفاظت از رایانه‌ها و اطلاعات آنها ملموس گردید. رشته‌های دانشگاهی از قبیل امنیت کامپیوتری، امنیت اطلاعات و اطلاعات مطمئن همراه با سازمان‌های متعدد حرفه ای پدید آمدند. هدف مشترک این فعالیت‌ها و سازمانها حصول اطمینان از امنیت و قابلیت اطمینان از سیستم‌های اطلاعاتی است.






مفاهیم پایه

همانگونه که تعریف شد، امنیت اطلاعات یعنی حفظ محرمانگی، یکپارچه بودن و قابل دسترس بودن اطلاعات از افراد غیرمجاز. در اینجا مفاهیم سه گانه "محرمانگی"، "یکپارچه بودن" و "قابل دسترس بودن" توضیح داده میشود. در بین متخصصان این رشته بحث است که علاوه بر این ۳ مفهوم موارد دیگری هم را باید در نظر گرفت مثل "قابلیت حسابرسی"، "قابلیت عدم انکار انجام عمل" و "اصل بودن".






محرمانگی

محرمانگی یعنی جلوگیری از افشای اطلاعات به افراد غیر مجاز. به عنوان مثال، برای خرید با کارت‌های اعتباری بر روی اینترنت نیاز به ارسال شماره کارت اعتباری از خریدار به فروشنده و سپس به مرکز پردازش معامله است. در این مورد شماره کارت و دیگر اطلاعات مربوط به خریدار و کارت اعتباری او نباید در اختیار افراد غیرمجاز بیافتد و این اطلاعات باید محرمانه بماند. در این مورد برای محرمانه نگهداشتن اطلاعات، شماره کارت رمزنگاری میشود و در طی انتقال یا جاهایی که ممکن است ذخیره شود (در پایگاه‌های داده، فایل‌های ثبت وقایع سیستم، پشتیبان گیری، چاپ رسید، و غیره) رمز شده باقی میماند. همچنین دسترسی به اطلاعات و سیستم‌ها نیز محدود میشود. اگر فردی غیر مجاز به شماره کارت به هر نحوی دست یابد، نقض محرمانگی رخ داده است.

نقض محرمانگی ممکن است اشکال مختلف داشته باشد. مثلا اگر کسی از روی شانه شما اطلاعات محرمانه نمایش داده شده روی صفحه نمایش کامپیوتر شما را بخواند. یا فروش یا سرقت کامپیوتر لپ تاپ حاوی اطلاعات حساس. یا دادن اطلاعات محرمانه از طریق تلفن همه موارد نقض محرمانگی است.






یکپارچه بودن

یکپارچه بودن یعنی جلوگیری از تغییر داده‌ها بطور غیرمجاز و تشخیص تغییر در صورت دستکاری غیر مجاز اطلاعات. یکپارچگی وقتی نقض میشود که اطلاعات در حین انتقال بصورت غیرمجاز تغییر داده میشود. سیستم‌های امنیت اطلاعات به طور معمول علاوه بر محرمانه بودن اطلاعات، یکپارچگی آنرا نیز تضمین میکنند.






قابل دسترس بودن

اطلاعات باید زمانی که مورد نیاز توسط افراد مجاز هستند در دسترس باشند. این بدان معنی است که باید از درست کار کردن و جلوگیری از اختلال در سیستم‌های ذخیره و پردازش اطلاعات و کانال‌های ارتباطی مورد استفاده برای دسترسی به اطلاعات اطمینان حاصل کرد. سیستم‌های با دسترسی بالا در همه حال حتی به علت قطع برق، خرابی سخت افزار، و ارتقاء سیستم در دسترس باقی می ماند. یک از راههای از دسترس خارج کردن اطلاعات و سیستم اطلاعاتی درخواست بیش از طریق خدمات از سیستم اطلاعاتی است که در این حالت چون سیستم توانایی و ظرفیت چنین حجم انبوده خدمات دهی را ندارد از سرویس دادن بطور کامل یا جزیی عاجز میماند. ==قابلیت بررسی== (کنترل دسترسی) افراد مجاز در هر مکان و زمان که لازم باشد بتوانند به منابع دسترسی داشته باشند.






قابلیت عدم انکار انجام عمل

در انتقال اطلاعات و یا انجام عملی روی اطلاعات، گیرنده یا فرستنده و یا عمل کننده روی اطلاعات نباید قادر به انکار عمل خود باشد. مثلا فرستنده یا گیرنده نتواند ارسال یا دریافت پیامی را انکار کند.






اصل بودن

در بسیاری از موارد باید از اصل بودن و درست بودن اطلاعات ارسالی و نیز فرستنده و گیرنده اطلاعات اطمینان حاصل کرد. در بعضی موارد ممکن است اطلاعات رمز شده باشد و دستکاری هم نشده باشد و به خوبی به دست گیرنده برسد ولی ممکن است اطلاعات غلط باشد و یا از گیرنده اصلی نباشد. در این حالت اگر چه محرمانگی، یکپارچگی و در دسترس بودن رعایت شده ولی اصل بودن اطلاعات مهم است.






کنترل دسترسی

برای حراست از اطلاعات، باید دسترسی به اطلاعات کنترل شود. افراد مجاز باید و افراد غیرمجاز نباید توانایی دسترسی داشته باشند. بدین منظور روش‌ها و تکنیک‌های کنترل دسترسی ایجاد شده اند که در اینجا توضیح داده میشوند.

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

احراز هویت تشخیص هویت کسی یا چیزی است. این هویت ممکن است توسط فرد ادعا شود و یا ما خود تشخیص دهیم. اگر یک فرد میگوید "سلام، نام من علی است" این یک ادعا است. اما این ادعا ممکن است درست یا غلط باشد. قبل از اینکه به علی اجازه دسترسی به اطلاعات حفاظت شده داده شود ضروری است که هویت این فرد بررسی شود که او چه کسی است و آیا همانی است که ادعا میکند.

تصدیق هویت عمل تایید هویت است. زمانی که "علی" به بانک میرود تا پول برداشت کند، او به کارمند بانک می گوید که او "علی" است (این ادعای هویت است). کارمند بانک کارت شناسایی عکس دار تقاضا میکند، و "علی" ممکن است گواهینامه رانندگی خود را ارئه دهد. کارمند بانک عکس روی کارت شناسایی با چهره "علی" مطابقت میدهد تا مطمئن شود که فرد ادعا کننده "علی" است. اگر عکس و نام فرد با آنچه ادعا شده مطابقت دارند تصدیق هویت انجام شده است.

از سه نوع اطلاعات می توان برای احراز و تصدیق هویت فردی استفاده کرد: چیزی که فرد می داند، چیزی که فرد دارد، و یا کسی که فرد هست. نمونه هایی از چیزی که می داند شامل مواردی از قبیل کد، رمز عبور، و یا نام فامیل قبل از ازدواج مادر فرد باشد. نمونه هایی از چیزی که دارد شامل گواهینامه رانندگی یا کارت مغناطیسی بانک است. کسی که هست اشاره به تکنیک‌های بیومتریک هستند. نمونه هایی از بیومتریک شامل اثر انگشت، اثر کف دست، صدا و اسکن شبکیه چشم هستند. احراز و تصدیق هویت قوی نیاز به ارائه دو نوع از این سه نوع مختلف از اطلاعات است. به عنوان مثال، چیزی که فرد می داند به علاوه آنچه دارد یعنی مثلا ورود رمز عبور علاوه بر نشان دادن کارت مخصوص بانک. این تکنیک را احراز و تصدیق هویت دو عامله گویند که قوی تر از یک عامله (فقط کنترل گذرواژه) است.

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

پس از آنکه فرد، برنامه یا کامپیوتر با موفقیت احراز و تصدیق هویت شد سپس باید تعیین کرد که او به چه منابع اطلاعاتی و چه اقداماتی روی آنها مجاز به انجام است (اجرا، نمایش، ایجاد، حذف، یا تغییر). این عمل را صدور مجوز گویند.

صدور مجوز برای دسترسی به اطلاعات و خدمات کامپیوتری با برقراری سیاست و روش‌های مدیریتی آغاز می شود. سیاست دسترسی تبیین میکند که چه اطلاعات و خدمات کامپیوتری می تواند توسط چه کسی و تحت چه شرایطی دسترسی شود. مکانیسم‌های کنترل دسترسی سپس برای به اجرا درآوردن این سیاست‌ها نصب و تنظیم میشوند.

رویکردهای کنترل دسترسی مختلفی وجود دارند. سه رویکرد شناخته شده وجود دارند که عبارتند از: رویکرد صلاحدیدی، غیرصلاحدیدی و اجباری. در رویکرد صلاحدیدی خالق یا صاحب منابع اطلاعات قابلیت دسترسی به این منابع را تعیین میکند. رویکرد غیر صلاحدیدی تمام کنترل دسترسی متمرکز است و به صلاحدید افراد نیست. در روش اجباری، دسترسی به اطلاعات و یا محروم کردن بسته به طبقه بندی اطلاعات و رتبه فرد خواهان دسترسی دارد.






کنترل امنیت اطلاعات

کنترل امنیت به اقداماتی گفته میشود که منجر به حفاظت، مقابله، پیشگیری و یا به حداقل رساندن خطرات امنیتی است. این اقدامات را میتوان به سه دسته تقسیم کرد.






مدیریتی

کنترل مدیریتی ( کنترل رویه ها) عبارتند از سیاست ها، رویه ها، استانداردها و رهنمودهای مکتوب که توسط مراجع مسئول تایید شده است. کنترل‌های مدیریتی چارچوب روند امن کسب و کار و مدیریت افراد را تشکیل میدهد. این کنترل‌ها به افراد نحوه امن و مطمئن انجام کسب و کار را میگویند و نیز چگونه روال روزانه عملیات‌ها هدایت شود. قوانین و مقررات ایجاد شده توسط نهادهای دولتی یک نوع از کنترل مدیریتی محسوب میشوند چون به شرکت‌ها و سازمانها نحوه امن کسب و کار را بیان میکنند. برخی از صنایع سیاست ها، رویه ها، استانداردها و دستورالعمل‌های مختص خود دارند که باید دنبال کنند مثل استاندارد امنیت داده‌های صنعت کارتهای پرداخت (PCI-DSS) مورد نیاز ویزا و مستر کارت. نمونه‌های دیگر از کنترل‌ها مدیریتی عبارتند از سیاست امنیتی شرکت‌های بزرگ، سیاست مدیریت رمز عبور، سیاست استخدام، و سیاست‌های انضباطی. کنترل‌های مدیریتی پایه ای برای انتخاب و پیاده سازی کنترل‌های منطقی و فیزیکی است. کنترل‌های منطقی و فیزیکی پیاده سازی و ابزاری برای اعمال کنترل‌های مدیریتی هستند.






منطقی

کنترل منطقی (کنترل فنی) استفاده از نرم افزار، سخت افزار و داده‌ها است برای نظارت و کنترل دسترسی به اطلاعات و سیستم‌های کامپیوتری. به عنوان مثال : گذرواژه، فایروال‌ها ی شبکه و ایستگاههای کاری، سیستم‌های تشخیص نفوذ به شبکه، لیست‌های کنترل دسترسی و رمزنگاری داده‌ها نمونه هایی از کنترل منطقی می باشند.






فیزیکی

کنترل فیزیکی برای حفاظت و کنترل محیط کار و تجهیزات کامپیوتری و نحوه دسترسی به آنها است که جنبه فیزیکی دارند. به عنوان مثال: درب، قفل، گرمایش و تهویه مطبوع، آژیر دود و آتش، سیستم دفع آتش سوزی، دوربین‌ها مداربسته، موانع، حصارکشی، نیروی‌های محافظ و غیره.
امنیت شبکه و ارتباطات راه دور
امنیت اطلاعات و مدیریت ریسک
امنیت برنامه‌های کاربردی
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 11:47 am
خط مشی جاوا

یکی از ویژگی‌های جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سخت‌افزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره می‌کند، اما نه به‌صورت کد ماشین بلکه به‌صورت بایت‌کد جاوا. دستورالعمل‌ها شبیه کد ماشین هستند، اما با ماشین‌های مجازی که به طور خاص برای سخت‌افزارهای مختلف نوشته شده‌اند، اجرا می‌شوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده می‌کند. کتابخانه‌های استاندارد یک راه عمومی برای دسترسی به ویژگی‌های خاص فراهم می‌کنند. مانند گرافیک، نخ‌کشی و شبکه. در بعضی از نسخه‌های ماشین مجازی جاوا، بایت‌کدها می‌توانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایت‌کد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامه‌های ترجمه شده تقریباً همیشه کندتر از برنامه‌های کامپایل شدهٔ محلی اجرا می‌شوند. این شکاف می‌تواند با چند تکنیک خوش‌بینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیک‌ها JIT است که بایت‌کد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان می‌کند. در نتیجه برنامه خیلی سریع‌تر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا می‌شود. بیشتر VMهای پیشرفته، به‌صورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینه‌سازی قسمت‌های برنامه، استفاده می‌شوند. کامپایل مجدد پویا می‌تواند کامپایل ایستا را بهینه‌سازی کند. زیرا می‌تواند قسمت hot spot برنامه و گاهی حلقه‌های داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامه‌های جاوا اجازه می‌دهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.





تکنیک بعدی به عنوان کامپایل ایستا شناخته شده‌است. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایت‌کدها را به کدهای شی محلی ترجمه می‌کند.

کارایی جاوا نسبت به نسخه‌های اولیه بیشتر شد. در تعدادی از تست‌ها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمی‌دهند. یکی از پیشرفت‌های بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمی‌کردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ می‌دهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت می‌کنند.


پیاده‌سازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستم‌عامل). داده‌است. همچنین محیط‌های دیگری برای دیگر پلت فرم‌ها فراهم آورده‌است. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیاده‌سازی‌ها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیاده‌سازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگی‌های خاصی را برای خودش اضافه کرده‌است. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمی‌تواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخه‌های دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه

جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده می‌کند. برنامه‌نویس زمانی که اشیا به وجود می‌آیند، این حافظه را تعیین می‌کند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظه‌است. زمانی که مرجعی برای شی‌های باقی‌مانده نیست، شی‌های غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب می‌شوند. اگر برنامه‌نویس مقداری از حافظه را برای شی‌هایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق می‌افتند.

یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامه‌نویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده می‌گیرد. در بعضی از زبان‌ها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده می‌شود. و یا به‌طور صریح اختصاص داده شده و از heap بازگردانده می‌شود. در هر کدام از این راه‌ها، مسئولیت ادارهٔ اقامت حافظه با برنامه‌نویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق می‌افتد. اگر برنامه تلاش کند به حافظه‌ای را که هم‌اکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بی‌ثبات شده و یا تخریب شود. این ممکن است با استفاده از اشاره‌گر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد می‌شود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. به‌طوری که این زمانی اتفاق می‌افتد که برنامه بی‌کار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده می‌شوند.

جاوا از نوع اشاره‌گر ریاضی C و ++C پشتیبانی نمی‌کند. در جایی که آدرس اشیا و اعداد صحیح می‌توانند به جای هم استفاده شوند. همانند ++C و بعضی زبان‌های شی‌گرای دیگر، متغیرهای نوع‌های اولیهٔ جاوا شی‌گرا نبودند. مقدار نوع‌های اولیه، مستقیماً در فیلدها ذخیره می‌شوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده می‌شود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شی‌گرای خالص به حساب نمی‌آید.

گرامر
گرامر جاوا وسیع‌تر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شی‌گرایی، زبان جاوا یک زبان شی‌گرای خالص می‌باشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگی‌ها را پشتیبانی می‌کند و از کلاس‌ها برای ساده‌تر کردن برنامه‌نویسی و کاهش خطا استفاده می‌کند.



بر طبق قرارداد فایل هل بعد از کلاس‌های عمومی نام گذاری می‌شوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد می‌شود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما می‌تواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.

کلاسی که به صورت خصوصی تعریف می‌شود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف می‌شود یک کلاس فایل تولید می‌کند. که نام این کلاس فایل همنام کلاس است با پسوند.class

کلمه کلیدی public (عمومی) برای قسمت‌هایی که می‌توانند از کدهای کلاس‌های دیگر صدا زده بشوند، به کار برده می‌شود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونه‌هایی از کلاس، نشان می‌دهد. فقط تابع‌های ایستا می‌توانند توسط اشیا بدون مرجع صدا زده شوند. داده‌های ایستا به متغیرهایی که ایستا نیستند، نمی‌توانند دسترسی داشته باشند.

کلمهٔ کلیدی void (تهی) نشان می‌دهد که تابع main هیچ مقداری را بر نمی‌گرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا می‌زند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.

تابع main باید آرایه‌ای از اشیا رشته‌ای را بپذیرد. تابع main می‌تواند از آرگومان‌های متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه می‌دهد اعدادی دلخواه از اشیا رشته‌ای را فراخوانی کند. پارامترstring[]args آرایه‌ای از اشیا رشته ایست که شامل تمام آرگومان‌هایی که به کلاس فرستاده می‌شود، است.

چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کرده‌است. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه می‌کند.
توزیع‌های جاوا

منظور از توزیع جاوا پیاده‌سازی‌های مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانه‌های استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیع‌کنندهٔ عمده جاوا وجود دارند:

سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن می‌باشد. در اکثر موارد هنگامی که گفته می‌شود جاوا منظور توزیع سان می‌باشد.
GNU Classpath: این توزیع از سوی موسسه نرم‌افزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهره‌گیری از توزیع شرکت سان از اول پیاده‌سازی شده‌است. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شده‌است. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیط‌های احرایی برنامه‌های جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا می‌کند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرم‌افزارهای آزاد به صورت متن باز منتشر کرده‌است و قول انتشار قسمت بسیار کوچکی از این مجموعه را که به‌دلیل استفاده از کدهای شرکت‌های ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها داده‌است.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه می‌باشد که توسط مایکروسافت و در چارچوب.net ارائه شده‌است. انتظار اینکه در سیستم‌عاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی می‌باشد که امکان برنامه نویسی Aspect Oriented را به جاوا می‌افزاید. این برنامه توسط بنیاد برنامه‌نویسی جلوه‌گرا و به صورت کدباز ارائه شده‌است.



کلاس‌های خاص

برنامک (برنامه‌های کاربردی کوچک)

اپلت جاواها برنامه‌هایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شده‌اند. واژهٔ import باعث می‌شود کامپایلر جاوا کلاس‌های javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه می‌دهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست می‌کند. کلاس اپلت یک تابع پنجره‌ای مجرد است که برنامه‌های کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم می‌کند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل می‌کند، برای اینکه کدی که اپلت را نمایش می‌دهد، فراهم کند. تابع paint شی‌های گرافیکی را که شامل زمینه‌های گرافیکی هستند را می‌فرستد تا برای نمایش اپلت‌ها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا می‌زند.

جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم می‌کند. و شامل مکانیزم‌هایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستم‌های تجاری موجود است.servlet قسمتی از javaEE است که به درخواست‌های مشتری پاسخ می‌دهد.

واژهٔ import کامپایلر جاوا را هدایت می‌کند که تمام کلاس‌های عمومی و واسط‌ها را از بسته‌های java.io وjava.servlet را در کامپایل وارد کند.

کلاس Hello کلاس Genericservlet را توسعه می‌دهد. کلاس Genericservlet واسطی برای سرور فراهم می‌کند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید می‌کند. نوعاً صفحات HTML به درخواست‌های HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه می‌کنند.JSP به javaservlet کامپایل می‌شود.

سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شده‌اند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد می‌کند.

اولین جملهٔ import کامپایلر جاوا را هدایت می‌کندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاس‌های عمومی و واسط آن‌ها را از بستهٔ javax.swing اضافه می‌کند. کلاس Hello کلاس Jframe را توسعه می‌دهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.

زمانی که برنامه آغاز می‌شود، تابع main با JVM صدا زده می‌شود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده می‌شود.
 
ساعت : 11:47 am | نویسنده : admin | مطلب قبلی | مطلب بعدی
جاوا | next page | next page