X
x جهت سفارش تبليغ در سایت ثامن بلاگ کليک کنيد



برنامه نويسي جاوا
درباره وبلاگ
احساسات بیان نشده هرگز فراموش نمی شوند ...
ورود
نام کاربري :
رمز عبور :
جستجو
معرفی به دوستان
نام شما :
ایمیل شما :
نام دوست شما:
ایمیل دوست شما:
پیوندهای روزانه
موضوعات
آرشیو
پیوندها
آمار وبلاگ
بازدید امروز : 66
افراد آنلاین : 2
بازدید دیروز : 11
بازدید ماه : 65
بازدید سال : 21895
کل بازدیدها : 466012
مجموع اعضا : 5
تعداد مطالب : 53
تعداد نظرات : 2
دیگر امکانات
:: تبلیغات در این وبلاگ
محل قرار گیری کد تبلیغات
:: برنامه نويسي جاوا

 بر نامه نویسی با جاوا

 

میکرو سیستمهای سان دوره جدید خط مشی جاوا –  2 را دردسامبر 1998 درست کردند و برای اولین بار جاوا 1-2 منتشر شد.

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

 

استاندارد ویرایش (J2SE) :  یک خط مشی برای دسکتاپ و PC است و ایستگاههای کاری و حمایتی را فراهم میکند. حمایتهای درونی را برای TCP/IPفراهم می کند و 1/GUIرا جاری می کند.

 

ویرایش تعهدی (J2EE): یکی از بیشترین صحبتها درباره اجزای پایه سرور ساید برای توسعه ستونها با درجه بالا و تامین کردن و ردیف کردن تعهدات و درخواستها است.

 

ریز ویرایش(J2ME): یک نسخه جاوا( ریز مجموعه ای از J2SE + APIS) وسایل را با محدودیت منابع سخت افزاری نشان می دهد. از توسعه برای جا دادن درخواستها یا دانلود درخواستهای شبکه استفاده می کند.

                                               برنامه نویسی جاوا

 

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

امروزه شاید IT های شخصی بدون دانش و قدرت جاوا نیست.

جاوا واقعا تکنولوزی از بسته های مختلف است که می تواند رده بندی نشود + اجزای ان به سه بخش زبان برنامه نویسی جاوا و ساختار علم ترکیب لغات و ماشین مجازی جاوا و کلاسهای کتابخانه ای وانجمنهای این زبان.

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

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

اخرین اما نه کوچکترین و اموزش می بیند یکسوسازی را در طول مراحل مختلف زندگی و هستی خود .

جاوا درست از شروع ان به طور مثال برای بهتر کردن تولیدات برنامه نویسان متمرکز شده بود.

جاوا هنوز همه طرح های مطلوب را حفظ کرده است.معماری جاوا فرش میکند راه ها را برای نرم افزارهای شبکه های شئ گرای جدید که فراهم میکند همه امکانات را برای حمایت از جاوا وبرای سهولت حرکت در شبکه از کدها و شئ ها استفاده میکند.

قبلا ما پردازش را تقویت میکردیم حالا به ما اجازه دهید تا به طور مختصر در مورد امکانات جاوا بحث کنیم.

                                               استقلال خط مشی

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

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

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

جاوا در حال حاضر سه مرحله است هر کدام از اینها از دیگری مستقل است اما تشکیل هر سه مرحله راحتی انرا با درجه بالا فراهم میکند.

·        قابلیت حمل کد منبع: به کد منبع یک برنامه اجازه میدهد تا تولید کند نتایج یکسان را بدون توجه به اساس CPU یا کامپایلر جاوا

·        قابلیت حمل معماری CPU : بر خلاف زبانهای دیگر جاوا تولید نمی کندکدهای متفاوت

را برای CPU های متفاوت به جای ان کامپایلر جاوا تولید میکند کدها را برای CPU های متفاوت به صورت بایتی در JVM به هر حال این طرح نیاز دارد به حضور JVM در همه CPU ها که برنامه جاوا نامزد اجرای ان است.

·        قابلیت حمل OS/GUI : شبیه به JVM در CPU های متفاوت وجود دارد API های جاوا که ارتباط برقرار میکند باOS وGUI تا مبارزه کند با مشکلات و شرح دهد قابلیت حمل GUIرا تا برنامه ها استفاده کنند از این کتابخانه ها.

بنابراین جاوا فراهم میکند محیط های اجرایی مشابه را.

اخیرا تکنولوزی جاوا (JINI) نشان داده به صورت دینامیکی شبیه اجرای شبکه به صورت

PLUG AND PLAY در یک شبکه . یک وسیله گذاشته میشود در شبکه تا بتواند متصل شود به سایر وسایل و اجازه دهد به وسایل دیگر تا به ان برسد.و به اسانی به اتصال نائل شود. 

 

                                     قابلیت استفاده مجدد و نگهداری

قابلیت استفاده مجدد در این زبان مقایسه میشود با وسعت حمایتی که از کدها می شود یا موافقت با سایر درخواستها . جاوا به طور خالص هست زبان oop و کدهایی که دوباره استفاده میشوند در ان قرار میگیرد.نتیجه کلی از تعاریف API در این ساختار طبقه بندی میشود به بسته های اطلاعاتی و همچنین حمایت میکند از کدهایی که دوباره استفاده میشوند.

یکی از تکنولوزی های متفاوت جاوا دانه جاوا است که فراهم میکند راه حلهای عملی برای مشکلات که سر سخت بودند در مقابل توسعه در مدت 10 سال. صنعت IT در بردارد دانه جاوا که گروه های بحرانی دوباره استفاده میکنند از دانه جاوا.توسعه ساختمان و ساختارهای جدید استفاده میکنند از ابزارهای DRAG AND DROP تا وصل شود به دانه های دیگر در گذشته.

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

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

 

                              در خواستها و برنامه نویسی با رشته ها

در خواست تعداد زیادی از برنامه نویسان در جاوا هست حمایت برای برنامه نویسی همزمان. برنامه های رشته ای خلق می کنند جریان های همزمان بیشتری برای کنترل کارها در هر زمان .مراقبت کردن از جذب اشکار همه درخواستهای جاوا که به هم میپیوندند درGUI به صورت رشته های  اصلی هستند.زیبایی رشته API جاوا اینست که کارها را در پس زمینه انجام می دهد تا زمانیکه احساس کند کاربر به ان نیاز دارد.

 

                                                   معماری جاوا

معماری اصلی در جاوا باقی مانده از زمانیکه برای اولین بار منتشر شد.تغییر پیدا کرد API جاوا به طور پیوسته و هر نسخه تصحیح میکرد کمبودهای نسخه قبلی را و اضافه میکرد ابزارهای مناسب را به ان . هسته معماری در جاوا هست به طور مثال : یک کامپایلر که ترجمه میکند کدهای منبع جاوا را به بیت کدها که میتواند در ماشین جاوا اجرا شود . این معماری انجام میدهد نیازهای JVM را برای سطح های متفاوت.یکی از سطح های مخصوص JVM که در دسترس است بایت کد جاوا است که میتواند استفاده شود در سیستمهای OS و سیستم های معماری.

                                           قابلیت استفاده مجد

  قابلیت استفاده مجدد هست یکی از مسائل اصلی در جاوا .سان تعریف کرد زبان برنامه نویسی مخصوصی برای ماشین مخصوص جاوا JVM  که از انواع داده ها  مراقبت میکند بایت کدها و کدهای باینری در برنامه جاوا به صورت مستقل هستند و در سیستم قابل اجرا میباشد.

                                          سیر تکامل جاوا

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

(مجموعه ابزارهای توسعه جاوا =JAVA DEVELOPMENT KIT)

نسخه JDK تمامی ابزار لازم برای توسعه و اجرای برنامه های JAVA را در بردارد.دو امکان برجسته جاوا در نسخه 1.0.2از این قرار است:

·        AWT :یک مجموعه از خانواده API برای ساختن GUI (یعنی واسطه گرافیکی کاربر)

·        APPLETS: عبارتند از برنامه های کوچک جاوا که در مرورگر های وبی که امکان اجرای انها باشد جای میگیرند. این مرورگرها شامل یک JVM میشوند که عمل دانلود کردن درخواست ها را خیلی مطمئن در محیطی امن اجرا میکند.

نسخه بعدی جاوا  1.1است که امکانات اضافی را به ان افزودند مانند نمایندگی مدل پیشامد سری سازی کردن اجزا RMI, کامپایلر JIT وکلاسهای درونی (البته برای جاوا )مجموعه پیشرفته ای ازAPI و نوسان های انتخابی API .جدا از این چیزها این نسخه میتواند یک مدل امنیتی خاص  جنبه های بین المللی و بقیه تعاریف JDK را تعبیه کند.

نسخه بزرگ بعدی کمپانی سان JAVA 1.2 است که به وسیله پلت فرمهای جاوا 2 شناخته شده است . جاوا 1.2 را به JSDK منسوب کردند توجه کنید که این JSDK با JDK یکی نیست JSDK شامل قسمتهای RUN TIME نمی شود .

یک سیستم RUN TIME هم اکنون جداگانه در JRE قابل دسترس است. SWING در بسته JSDKوجود دارد و البته امروزه همچنین در JSDK 1.3 وJSDK 1.4 قابل دسترس است.

 

J2ME                                                    چیست؟

J2ME اخرین وجمع وجور وبا درجه انتخابی  بالا برای  JRE است J2ME روی هم رفته یک زبان جدید نیست اما مانند جاوا ی قدیمی برای کنترل و پیاده کردن دستگا ه ها به کارمیرود

J2ME هنوز سازگاری J2SE را از دست نداده . در واقع تمامی درخواست های J2ME می توانند اجرا شوند روی J2SE با اختلاف بسیار کم . دستگاه های ا لکترونیکی مصرف کننده کوچک دارای راهی برای تاثیر روی زندگی ما هستند .

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

                                                  ساختار J2ME

محصولات الکترونیکی مصرف کننده در طبیعت و وظایف خود با هم تغییرات زیادی دارند .برای بیان بعضی از تغییرات یک نیاز ضروری برای J2ME فقط سایز کوچک نیست همچنین طبق خواسته بودن و پیمانه ای بودن . این پیمانه ای  کردن توسط جدا نمودن همه ساختار و پروفایلJVM انجام میگیرد این سه جزء با هم یک JRE کامل را شکل میدهند این اجزا لایه های بالایی یک سیستم عامل برای  دستگاه های هدف هستند .

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

                                        پیکره بندی ها(شکلها)

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

پیکره بندی رابطه تنگاتنگی با JVM دارد. در واقع پیکره بندی یک دوره شناختن امکانات زبان جاوا است مانند مجموعه API ها و JVM مخصوص برای یک پیکره بندی مخصوص.

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

·        CLDC : به منظورمتصل کردن منابع تحمیل شده دستگاه های کوچک مثل تلفن و پیجر

·        CDC : جهت دستگاه هایی با منابع بزرگ مرتبط با هم مانند جعبه های SET-TOP

بقیه اندک پیکره بندی ها در اینده نزدیک در دسترس است.

CLDC : یکی از پیامد های JCP است (پردازش اجتماع های جاوا) که یک قابل حمل استاندارد شده است و در بلاک های ساختمانی جاوا برای دستگاه های دارای منابع تحمیل شده کوچک کمترین اثر را میگذارد . JCP یک پلت فرم باز است که به نماینده های صنعت و افراد دیگر اجازه میدهد که شریک شوند در یک پردازش تعریفی  تجدید نظر کردن و توسعه دادن قسمتهای مختلف یک پلت فرم جاوا . در اینجا فقط یک توضیح کوتاه از چگونگی تابع های JCPوجود دارد . یکJSR (درخواست مشخص جاوا) ارائه میشود بوسیله یک پیشنهاد مخصوص برای توسعه دادن پلت فرمهای جاوا . اگر JSR پذیرفته شود برای توسعه یک EG

(گروه ویزه ) که شامل اعضای JCP و داوطلبان هستند شکل میدهند تعریف را از یک تشخیص رسمی برای JCP . کار انها مورد بازبینی سایر اعضای JCP قرار میگیرد و به وسیله همگان که بازبینی میکند تفسیرهای انها را که استفاده می شود در تجدید نظر کردن قبل از انتشار یک استاندارد رسمی.

CLDC هست نتیجه تلاشهای گروه های متخصص JCP که کار میکنند در JSR . وقتی JSR تاسیس شد نشان داد که دنبال میکند این سازمانها را : امریکا انلاین و بال و اریکسون ,FUJITSU MATSUSHITA  میتسوبیشی وموتورولا ونوکیا   NTTDOCOMO ,  ORACLE

RIM و سامسونگ و شارپ و زیمنس و سونی و سان و SYMBIAN

CLDC هست یک VM و پایه کتابخانه ها . ماشین KVM در CLDC معرف اجرا در JVM  هستند

از نام KVM مشخص میشود این حقیقت که اندازه گیری سایز ان به کیلو بایت است نه مگا بایت . ساختار CLDC هست برای ابزارها به صورت خطوط پایین:

·        اهسته و متناوبی بودن خطوط ارتباطی شبکه

·        محدود بودن قدرت

·        وسعت حافظه بین 160 تا 512 کیلو بایت

·        پردازنده 16 یا 32 بیتی

حافظه های فرار برای اجرای درخواستها مصرف میشوند. حافظه های غیر فرار اختصاص داده میشوند به گنجایش ایستا در VM

طرح CLDC حفظ میکند قسمت اصلی زبان جاوا را با چند استثناء . این استثناء ها مناسب هستند برای نیاز های CLDC (وسایل محدود میشوند به گنجایش اتصال)

·        JVM حمایتی

·        امنیتی

·        هسته کتابخانه برای I/O شبکه و امنیت بین المللی

·        سازگاری یک بخش اصلی در CLDC هست زیر مجموعه ای از J2SE

 

                                           محدودیت های CLDC

·        حمایت نمی کند از محاسبات شناور: هدف این وسائل دارا نمیشودسخت افزارهای شناور را. همچنین هزینه اجرای نرم افزارهای شناور خیلی بالا است.

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

·        محدود بودن هزینه خطا ها: این سخت افزارها گوناگون هستند و کم شدن هزینه توسط ابزارهای جانبی است.

·        جاوا رابط محلی نیست: از ان زمان محدود شد امنیت مدل های فراهم شده با CLDCکه به صورت تابع محلی بود.

·        کلاس ها تحقق پیدا میکند با جداسازی: استاندارد تحقق کلاسها هست خیلی سنگین و یک چاره برای بازبینی هست انجام سرور یا دسکتاپ .

یک امنیت بستگی دارد به تلاش و اندازه API و مصرف حافظه مانند زیر:

·        کلاس های بارکننده

·        بازتاب

·        RMI

·        به هم پیوسته

·        اشکال زدایی JVM

·        سود JVM

·        ضعف بازگشت

Best regards,همه ي كاربردهاي  CLDC كاربردهاي CDC هستنى اما بر عكس ان نيستCDC شبيه CLDC نيست وزبان Full java داردومشخصه JVM دارد0 CVM همه ي مشخصه استاندارد  java 2vm را دارد0

اما حافطه ي ان كوجكتر از يك ردپا است يك كاربرد CDC مي تواند دستيابي به J2ES APISباشد كه كاربرد CLDC  مي تواند جدا از مشخصه ي API  هاي CLDC باشد0

 

مشخصه ي CDC

·        2 MB يا بيش از حافطه ي جمع كننده

·        متشكل از ارتباط دهنده ي شبكه

·        Processor  ان 32بيت است

 

CDC   در مقابل   CLDC

يك تفاوت بين CDC , CLDC اين است كه نياز به J2ES كه موافق با JVM  دارند0

گذاشتن ان در CDC VM  فراهم مي كنى همه ي امتيازات مشخصه ي J2SE VM كه شامل  JVMDI,JVMPDنمودار زيرارتباط بين  J2SE وCDCوCLDCرا نشان مي دهد0

PRO FILE

 

يك پروفایل ساده یک دستگاه گیرنده  API است اما شبيه اين نيست پروفایلها بيشتر اتصال دهنده است و وسيله ی ویزه ای  که توانایی ترکیب کردن را دارد0 آن ها شامل وسیله ی ویزه ی API  هستند وهمچنین کاربر متصل و مداوم و...

پروفایل کسب می کند خواسته های انجام شده را از روی شکل و بنابر این در شكل در سطح بالا هستند0

جریانی که در به کار بردن یک یا چند پروفایل در مرحله ی نهایی وجود دارد:

·        K j a v a

·        پروفایل وسيله ي انتقال و حركت است( MIDP)

·        پروفایل ها به دیجیتال شخصی کمک می کنند ( PDAP)

·        Handel  pro fillHP)

·        انجام دادن  پروفایل (FP)

·        پروفایل شخصی( PP)

·         پروفایل روش مجزاست(RMIP)

  KJAVA

K java     يك پروفایل شخصي خورشيدي که برای J2SE جانشين شده 0JCP شامل كار هاي مربوط به K java نيست k java يك وسيله اي بالاتر از CLDC است توانايي كامل ان باCLDC است ان توجه دارد به يك وسيله اي براي نشان دادن   يك پروفایل بر CLDC   است0

وارد كردن اطلاعات در KVM ىر يك انجام K java است شبيه به يك وسيله كلاسيك  j2SE  واقعي است واستاندارد K java  API  استفاده مي شود باكت هايي كه در

K java  API. com. Sun .k java  استفاده ميشوند به اندازه ي يك plam در سيستم عامل وشبيه به J2SE  است 0

 

MIDP

MIDP      يك پروفایل استاندارد صنعتي و كامل براي حركت وسيله طراحي شده كه بستگی به سازنده ان دارد MADP نتيجه ي    JCP EQ است كه روي JSR-37 كار كرده است API  ها براي حركت وسيله ها تعريف شده است كه شامل اجزاي رابط و تجزيه يI/O و حتي كنترل كننده در شبكه و زمان توسعه يافته ي براي صفحه و حافظه ي محدود شده وسيله ي حركت MIDP  و شبيه Kjava است كه بالاتر از CLDC انجام مي دهد0يك كاربرد توسعه يافته براي وسيله ي MIDP  0 MID let است همه ی

 MID let  ها همكاري با AMS ميكنند اين همكاري از طريق ماشينها انجام مي شود جايي كه MID let ها AMS اعلام مي كنند هرگز نيازي به تغییر ضروری منبع ندارند.

 

PDAP

PDAP وسيله اي است كه حافطه ي ان كمتر از 512 KB و بيشتر از 16 MB نيست 0

 

PDAP API  ها شامل يك J2SE SAWT براي GUI هاست0

 

 

 Handel pro file( Hp)

براي كسب اطلاعات بيشتر به سايت http://www.java.sun.com/ مراجعه فرماييد0

 

Foundation pro file( FP)

 

fpمي تواند توسعه دهد و يك پروفایل جدید بوجود اورد fp  بالاتر از CDC است FP API ها باCDC API   فراهم مي كننديك J2SE JRE را به طور كامل براي مصرف كننده هاي الكتريكي وجا دادن وسيله ها0FP ها استفاده مي شوند براي مصرف كننده هاي الكتريكي وجا دادن وسيله ها0CDC ها يك جاي گزینی برای  CLDC  ها هستند  0

 

RMIP

RMIP تجهيزاتش كمتر از مصرف كننده الكتريكي است كه به اساني RMI توليد ميكند انها محاسبات را به خوبي انجام مي دهند اين اعمال JINI را براي سازمان شبكه فراهم مي كندبنابراين  يك قرارداد كامل RMIP  احتمالا امكان دارد كه از وسيله ها نباشند هنوزدر خواست RMIP  وجود ندارد قرارداد RMIP نياز به مقداري حافظه در حدود 4MB دارد0

 

J2ME   در مقابل   J2SE

J2ME  يك قرارداد تشرش كه ارتباط فقط زبان مشخص است و كتابخانه J2SE كه يك مشكل ان كاربرد توسعه براي رسيدن به هدف محيط مطرح نكرده است0

 

JSR-82

 

JSR-82 شامل JAVA API ها براي Bluetooth تكنولوژی بی سیم است یک استاندارد پاکت است که پروتکل   Bluetooth  محلی و  RF COMM .RFCOMM. OBEX.SDP را فراهم مي كند0ان قصد دارد كه با يك توانايي در محيط باز كاربرد Bluetooth توسعه دهد0ورژن های اینده ممکن پروتکل های adition را فراهم كند0

JABWT يك اصلي براي( ژنريك اتصال زير سازي)( GCF) كه شامل  J2ME CLDC وكلاس هاي موجود I/O در CLDC مي شود0

JSR-82 ها براي غلبه بر CLDC  طراحي شده اندواستفاده ميشوند مانند يك MIDP توسعه يافته بنابراين JABWT  مي تواند با MIDP استفاده شود ان فقط به CLDC APIها و بي توجه بودن MIDP و بي تاثير بودن رفتار ان بستگی دارد Bluetooth اصل JABWT را شامل مي شود 0

بعضی از اعضای سازمان ها تشکیل شده اند از گروههای خبری که شامل JABWTهستند كه سيتم هاي توسعه يافته و IBM وموتور هاي الكتريكي و ىر اصل وساد گي نرم افزارو ازمايشگاهي ىر امريكاوحركت ارتباطات ووسيله هاي شبكه نيرومند تحقيق مي كنند0

 

نيازمندى هاي JABWT

 

·        موافق بودن با خصوصيت CLDC

·        ارتباظ دهنده شبكه  Bluetooth

·        حافظه كمتر از 512kb

·        انجام همكاري با GcfازCLDC

·        OBEX APIبايد تعريف شده باشد و به طور مستقل در هسته   API Bluetoothاستفاده شود

·        API كاربردش در هر يك از كلاينت  يا سرور يا هر ىوي انها

·        كه مي تواند سطح روي هر سكو java  از CDC وj2SE و J2EF باشد

·        موافق بودن سخت افزار Bluetooth و ارتباط دهنده نرم افزار با  Bluetooth

 

سيتم Bluetooth  به اين شكل تعريف ميشود

·        SPP

·        Type1 RFCOMM

·        L2cap

·        Bluetooth كنترل مي كند مركز ( BCC) و توسعه مي دهد تجهيزات سازنده ابتدايي(OEM)به پارامترهای شکل stack كترل مي كند

 

JABWT

JABWT شامل دو باكت است:

1.     java x . bluetooth

2.     java x .o b x

اين دو باكتهاي اختياري ومجزا هستندبه اين معني كه يك CLDC  وسيله اي كه مي تواند هر دو باكت يا يكي از ىو باكت ها را در خود جاي دهدهر ىو باكت يك باكت توسعه يافتهjava x. micro edition

 

معماري API 

وظيفه ادرس ها به وسيله  java x. Bluetooth API   كه مي تواند در اين سه مرحله طبقه بندي شود:

 

·        discovery  شامل وسيله هاي اشكار و سرويس دهي اشكار و نام نويسي سرويس

 

·        ارتباطات شامل اغاز وشروع ارتباط بين وسيله ها و استفاده انها براي ارتباطات بين در خواست هاست0

 

·        مديريت وسيله ها شامل در خواست مدير براي اتصال بين ابزارهاست0

 

 

MIDP, Bluetooth API

JABWT   يك ارتباط بين MIDP و Bluetooth است بنابراين ابزارهاي MIDP انتظار دارند كه هدف تجارت براي  پيوستگي  JSR- 82  در مرحله ي اول است0

دياگرام زير نشان مي دهد كه JABWT  در معماري J2ME اندازه است0

Bluetooth API و MIDP   API   مي توانند همزيستي باشند اما وابسته به يكديگر نيستند بنابراين يك مي تواند وسيله JSR-82 به اندازه ي CLDC + JABWT)) يا اينكه به اندازه ي  ( CLDC+MIDP+JABWT)  باشد

 

 

پاكت هاي Bluetooth   java x.

كاربرد وسيع Bluetooth  اين است كه اتصال Bluetooth  را بين وسيله ها وابزار كشف شده وثبات سرويس دهى شده فراهم ميكند ومديريت که پرو فایل وارتباطات با پروتکل هارا.

یک لیست رابطه ها وکلاس ها وپاکت هایjava x. Bluetooth    در شكل 13.1   نشان داده شده است   0

 

 

رابطه ها

رابطه ها يك ساختار را به حد كافي فراهم مي كند يا قرارداد را در روش زيرسازي اعلام مي كند كه قرارداد به اندازه ي كلا سهاي مورد نياز استبه ما اجاؤه مي دهد بيشتر در مورد رابطه ها بدانيم 0

 

 

توصيف وانتقال رابطه ها

رابطه ها اين اجازه را دارند كه يك كاربرد دريافت كشف وسيله وسرويس دهي را انجام دهد حتي اعلام كردن اين انتقال 4 روش وجود دارد 2 تاي ان براي وسيله ي كشف شده و2 تاي ان براي سرويس كشف شده است0

 

 

نام هاي فيلد وتوصيف

Inquiry-completed نشان مي دهد كه كاربرد نرمال يك وسيله ي كار كشف را انجام دهد

0

Inquiry-Error نشان مي دهد كه خطايي كه ىر طي بازجويي  از خواسته ها رخ مي دهد

0

Inquiry-terminal نشان مي دهد كه واضح است كه يك وسيله اي كه مراحل ان به وسيله ي كاربردش كشف شده است0

 

Service – search – completed يك سرويس كشف شده را به طور كامل نشان مي دهد

 

Service – search –device-not-reachable از كار افتادن يك سريس كشف شده را نشان مي دهد0

 

    Service – search –no-record    كاملا سريس كشف شده را بدون ركوردهاي پيداشده نشان مي دهد

0

Service – search –terminal   توضيح در مورد كاربرد سرويس را نشان مي دهد0

 

توصيف وانتقال رابطه ها

 

Btl2cap يك پروتكل است كه در بوجود اوردن يك اتصال كلاينت استفاده مي شود

 

دريافت MTU  و انتقال MTU  هستند پارامترهاي ويژه L2CAP  هستند انها پاسخ

 

 مي دهند به ظرفيت حمل ونقل سايز ماكزيموم و انتقال دادن سايز ظرفيت حمل ونقل

 

ماكزيموم به وسيله ي اتصال هاي خاص ومجزا0

 

 

فيلد نام وانتقال

 

اهميت  بالاي MTU  براي اتصال كانال ها است كه در حدود 672 byte

 

اهميت مينيموم MTU  براي اتصال كانال ها است كه در حدود 48 byte

 

هم اكنون ما مختصري از روش ها پارامترها براي اتصال  در جدول 13.2 توضيح

 

مي دهيم0

 

توصيف وانتقال رابطه ها

ششئ اخطار کننده اتصال L2cap برمی گرداند وقتی که کانکتور باز کمک می کند به رشته بالایی شئ اتصال دهندهL2cap حاصل می شود از اخطار کننده اتصال l2cap fh با کمک پذیرش وباز.

روش ها وتوصیفات:

منتظر باشید برای کلاینت برای اتصال به خدمات l2cap را که می تواند استفاده بشود جهت ارتباط با این کاربر.

رکورد خدماتی:

شرح وبیان داخلی وتوصیف:

رکورد خدماتی عمومی وداخلی: این توصیف می کند کاراکترهایی را از سرویس blue tooth . هر رکورد خدماتی شامل گروهی از خدمات نسبی. هر کدام از آنها دارای عضو با ارزش ID است. ID نسبی هست 16 بایت عددی بدون علامت. وقتی که مقدار ارزش داده شده یک شئ است .

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

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

یک سرویس خدماتی فراهم می آورد اطلاعات کافی را برای اجازه دادن به کلاینت sdp برای اتصال به خدماتbluetooth بر روی ابزار سرویس دهنده sdp.

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

رکورد های خدماتی قابل دسترسی اند برای کاربردهای سرویس دهنده از راه روش getrecord در ابزار محلی.

sdp قابل دسترسی ساخته می شود فقط آن سرویس هایی را که نسبت داده می شود به احتیاجات کلاینت sdp.

نام فیلد ها توصیف آنها:

authenticate_encrypt: تصدیق اشاره گر ها وencrypt احتیاج دارند به دسترسی به این صفات.

authenticate_noencrypt: تصدیق اشاره گر ها احتیاج دارند به این دسترسی به خدمات واما بدونencrypt.

noauthenticate_noencrypt: اشاره می کند به تصدیق وencrypt احتیاج ندارد به این خدمات.

بیایید خلاصه کنیم روش ها و پارامتر ها را در جدول(13.3)

ID های نسبت داده شده عمومی _برمی گرداند خدمات ارتباطی ID را که می توانند مقدار داشته باشند برای نسبت های مقداری.

مقدار نسبتی عنصر داده عمومی_ بر می گرداند مقدار ID نسبی خدماتی را اگر پیدا کند در رکورد خدماتی و اگر نه null برمی گرداند.

اتصال دهنده های رشته عمومی (int,bool) بر می گرداند رشته ای را که شامل پارامتر های انتخابی که می تواند استفاده شود با کلاینت برای اتصال به توصیف خدماتی با رکورد خدماتی.

رکورد مهم عمومی boolean: جبران می کند مقادیر را با عهد بستن ابزار remot برای بخشی از ID های نسبی وخدماتی از خدمات که در دسترس است از ابزارbluetooth.

مقادیر نسبی عمومی boolean(int,datatype): توصیف می کندرکورد خدماتی را که شامل سرویس نسبی است وبه کمک عضوی ارزشی ID نسبت داده شده.

public void set device serviceاستفاده می کند با کاربردهای سرویس دهنده برای راهنمایی کردن بیت های کلاس خدماتی مهم که باید فعال شود در کلاس ابزار سرویس دهنده وقتی که این رکورد خدماتی اضافه می شود به sddp.

کلاس ها:

عنصر داده:

دکور کلاس و توصیف آن:

عنصر داده کلاس عمومی_آن توصیف می کند انواع داده مختلف را که سرویس bluetoothارزش نسبی آن را می تواند داشته باشد. جدول 13.4 توصیف میکند انواع داده را ومقادیر صحیح را که  شئ عنصر داده می تواند ذخیره کند.

نام فیلد ها وتوصیفات:

public static final bool: تو ضیح می دهد داده ها یی را که از نوع boolean.

public static final datalt: توضیح می دهد داده هایی را که از نوع datalt.

public static final dataseq: توضیح داده هایی راکه از نوع dataseq.

public static  final int_1: توضیح میدهد عددهای علامت داری را که در سایز یک بایتی.

public static final int_16: توضیح میدهد عددهای علامت داری را که در سایز 16 بایتی.

public static final int_2: توضیح میدهد عددهای علامت داری را که در سایز 2 بایتی.

public static final int_ 4: توضیح میدهد عددهای علامت دار ی را که در سایز 4 بایتی.

public static final int_8:توضیح میدهد عددهای علامت دار را که درسایز 8 بایتی.

public static final null: توضیح می دهد داده هایی را از نوع null.

public static final string: توضیح میدهد داده هایی را از نوع رشته ای.

public static final u_int_1: توضیح میدهد اعداد بی علامت ا در سایز 1 بایتی.

جدول های 13.5 و13.6 توصیف می کند توابع سازنده و پارامتر ها و روش ها را.

جدول 13.5:    توبع سازنده وتوصیفات:

عنصر داده عمومی (boolean): به وجود می آورد عنصر داده ای را که نوع داده bool و آن را که مقدار آن مساوی است باbool.

عنصر داده عمومی(int): به وجود می آورد عنصر داده ای را که شامل null,datalt,dataseq.

عنصر داده عمومی (int,long): به وجود می آ ورد عنصر داده ای را که شامل مقدار int یا سایزu_int_2,u_int_1,

u_int_4,u_int_8.

عنصر داده عمومی(int,object): به وجود می آورد عنصر داده ای را که شاملurl,uud,strig,u_int_16.

 جدول 13.6:       روش ها وتوصیفات:

عنصر اضافی تابع عمومی: که اضافه می کند عنصر داده بخصوص را به پارامتر datalt یا شئ عنصر دادهdataseq.

public boolean get boolean: برمی گرداند مقدار عنصر داده را اگر به صورت بولین نمایش داده شود.

public int get datatype: برمی گرداند نوع داده ای را از شئ  که به صورت عنصر داده نمایش داده شده است.

public long get long: برمی گرداند ارزش عنصر داده را اگر بتواند به صورت طولانی نمایش داده شود.

public int get size: برمی گرداند تعداد عناصر داده را که معمولا حاضر است در شئ datalt,dataseq.

 کلاس ابزار:

اظهار کلاس وتوصیف آن:

کلاس ابزار عمومی: نمایش می دهد کلاس را در رکورد ابزار cod هر رکورد شامل اطلاعاتی در مورد نوع ابزار ونوع خدماتی که توسط آنها ارائه می شود.

جدول 13.7 توضح میدهد توابع سازنده و پارامتربرای این مداخله.

جدول 13.7:      توابع سازنده وتوصیفات:

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

روش ها وتوصیفات:

کلاس ابزار بزرگ عمومی: بر می گرداند کلاس ابزار بزرگ را.

کلاس ابزار کوچک عمومی: بر می گرداند کلاس ابزار کوچک را.

کلاس های خدمات عمومی: برمی گرداند کلاس های خدمات بزرگ را.

پوشش فوری:

تعریف کلاس و توصیفات :

پوشش فوری کلاس عمومی: آن آماده می شود با پوشش ابزاری و توانایی پوشش خدمات. شئ پوشش فوری ایجاد می شود با استمداد get discovery agent از ابزار محلی.

ابزار ها از دو راه می توانند پوشش داده شوند:

(a): کاربری استمداد می طلبد از startinquiry برای شروع پرسش برای پوشش ابزارهای نزدیک.

روش پوشش ابزاری در مداخله شنونده پوشش برمی گرداند پوشش ابزارها را.

(b): کاربری استمداد می طلبد برای ابزارهای کمکی که برمی گرداند ابزارهایی را که شناخته شده است در مدت احتیاجات قبلی. از زمانی که این ها تولید می شوند سریع ترین راه است برای دسترسی به ابزارهای نزدیک.

سرویس ها نیز می تواند از دو راه پوشش داده شوند:

(a): کاربری کمک می کند به سرویس های جستجو برای پوشش سرویس هایی که بر روی ابزارهای به خصوص است.

(b): کاربری کمک می کند به سرویس های انتخابی برای پوشش سرویس های محتاج بر روی ابزارهای قابل دسترس.

نام فیلد وتوصیف:

publicstatic final CACHED: استفاده می شود با ابزارهای نسبی برای برگشت ابزارهای یافته شده در مدت احتیاجات قبلی.

GIAC Public static final : استفاده می شود برای احتیاجات نا محدود مهم.

Public static final LIAC: استفاده می شود برای احتیاجات اهدایی محدود.

Public static final NOT-DISCOVERABEL: استفاده می شود برای قرار دادن ابزارهای  غیر پوششی.

Public static final PREKNOWN: استفاده می شود با ابزار های نسبی برای برگرداندن ابزار های شناخته شده. ابزار های شناخته شده بارها قابل تماس هستند با ابزار های محلی و نگه داری می شوند با مرکز کنترل blue tooth(bcc).

اکنون روش ها وپارامتر ها خلاصه می شوند در جدول 13.8.

جدول 13.8:             روش ها وتوصیفات:

Public Boolean cancelinquery: سرویس دهی می کند احتیاجات ارزشی را.

Public Boolean cancel search: سرویس دهی می کند سرویس جستجویی را که  ID انتقالی به خصوص است.

 Public remot device [] retrive device (int): بر می گرداند  آرایه ای شاملابزار های blue tooth قبلی یا ابزار های شناخته شده وابسته به بحث .

Public int searchservices: جستجو می کند برای سرویس ها بر روی  ابزار blue tooth که حاویuuid ,uuidset

Public string select service (uuid,int,Boolean): قرار دارد در جایی که سرویس  شامل uuid در لیست ID کلاس سرویس از رکورد سرویس.

جدول 13.8:

روش ها وتوصیفات:

Public Boolean startinquary(int,discoverylister): شروع می کند پردازش های لازم را.

ابزار های محلی:

تعریف کلاس و توصیف آن:

Public class localdevice: توضیح می دهد تابع های اصلی را از مدیریت blue tooth. وآن ذخیره می کند پایین ترین سطح ممکن را در پشته BLUE TOOTH.

آن فراهم می کند دسترسی وکنترل ابزار BLUE TOOTH.

جدول 13.9:

روش ها وتوصیفات:

Public string get bluetoothaddress(): نسبت می دهد bd_addr به ابزار محلی.

Public deviceclass getdeviceclass(): نسبت می دهد ابزار کلاس را که مربوط می شود به کلاس های سرویس.

 

 


برچسب ها : ,,,,,,,,,,,,,,,,,,,,,
| لینک ثابت | نسخه قابل چاپ | امتیاز : | اشتراک گذاری :
rss نوشته شده در تاریخ و در ساعت : - نویسنده : سعید
:: پربازدیدترین مطالب
:: آخرین نوشته ها
Copyright © 2010 by http://ypesary.samenblog.com