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

میکرو سیستمهای سان دوره جدید خط مشی جاوا – ۲ را دردسامبر ۱۹۹۸ درست کردند و برای اولین بار جاوا ۱-۲ منتشر شد.
شهرت محصول سان این دوره را برای هر سه ویرایش جاوا تا امروز حفظ کرد.

استاندارد ویرایش (J2SE) : یک خط مشی برای دسکتاپ و PC است و ایستگاههای کاری و حمایتی را فراهم میکند. حمایتهای درونی را برای TCP/IP فراهم می کند و ۱/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 در این ساختار طبقه بندی میشود به بسته های اطلاعاتی و همچنین حمایت میکند از کدهایی که دوباره استفاده میشوند.

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

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

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

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

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

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

نسخه JDK تمامی ابزار لازم برای توسعه و اجرای برنامه های JAVA را در بردارد.دو امکان برجسته جاوا در نسخه ۱٫۰٫۲از این قرار است:
• AWT :یک مجموعه از خانواده API برای ساختن GUI (یعنی واسطه گرافیکی کاربر)
• APPLETS: عبارتند از برنامه های کوچک جاوا که در مرورگر های وبی که امکان اجرای انها باشد جای میگیرند. این مرورگرها شامل یک JVM میشوند که عمل دانلود کردن درخواست ها را خیلی مطمئن در محیطی امن اجرا میکند.

نسخه بعدی جاوا ۱٫۱است که امکانات اضافی را به ان افزودند مانند نمایندگی مدل پیشامد سری سازی کردن اجزا RMI, کامپایلر JIT وکلاسهای درونی (البته برای جاوا )مجموعه پیشرفته ای ازAPI و

نوسان های انتخابی API .جدا از این چیزها این نسخه میتواند یک مدل امنیتی خاص جنبه های بین المللی و بقیه تعاریف JDK را تعبیه کند.
نسخه بزرگ بعدی کمپانی سان JAVA 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 هست برای ابزارها به صورت خطوط پایین:
• اهسته و متناوبی بودن خطوط ارتباطی شبکه

• محدود بودن قدرت
• وسعت حافظه بین ۱۶۰ تا ۵۱۲ کیلو بایت
• پردازنده ۱۶ یا ۳۲ بیتی

حافظه های فرار برای اجرای درخواستها مصرف میشوند. حافظه های غیر فرار اختصاص داده میشوند به گنجایش ایستا در VM
طرح CLDC حفظ میکند قسمت اصلی زبان جاوا را با چند استثناء . این استثناء ها مناسب هستند برای نیاز های CLDC (وسایل محدود میشوند به گنجایش اتصال)
• JVM حمایتی
• امنیتی
• هسته کتابخانه برای I/O شبکه و امنیت بین المللی
• سازگاری یک بخش اصلی در CLDC هست زیر مجموعه ای از J2SE

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

• کلاس های بارکننده
• بازتاب
• RMI
• به هم پیوسته
• اشکال زدایی JVM
• سود JVM
• ضعف بازگشت

Best regards,همه ي كاربردهاي CLDC كاربردهاي CDC هستنى اما بر عكس ان نيستCDC شبيه CLDC نيست وزبان Full java داردومشخصه JVM دارد۰ CVM همه ي مشخصه استاندارد java 2vm را دارد۰
اما حافطه ي ان كوجكتر از يك ردپا است يك كاربرد CDC مي تواند دستيابي به J2ES APIS باشد كه كاربرد CLDC مي تواند جدا از مشخصه ي API هاي CLDC باشد۰

مشخصه ي CDC
• ۲ MB يا بيش از حافطه ي جمع كننده
• متشكل از ارتباط دهنده ي شبكه
• Processor ان ۳۲بيت است

CDC در مقابل CLDC
يك تفاوت بين CDC , CLDC اين است كه نياز به J2ES كه موافق با JVM دارند۰
گذاشتن ان در CDC VM فراهم مي كنى همه ي امتيازات مشخصه ي J2SE VM كه شامل JVMDI,JVMPDنمودار زيرارتباط بين J2SE وCDCوCLDCرا نشان مي دهد۰
PRO FILE

يك پروفایل ساده یک دستگاه گیرنده API است اما شبيه اين نيست پروفایلها بيشتر اتصال دهنده است و وسيله ی ویزه ای که توانایی ترکیب کردن را دارد۰ آن ها شامل وسیله ی ویزه ی API هستند وهمچنین کاربر متصل و مداوم و…
پروفایل کسب می کند خواسته های انجام شده را از روی شکل و بنابر این در شكل در سطح بالا هستند۰
جریانی که در به کار بردن یک یا چند پروفایل در مرحله ی نهایی وجود دارد:
• K j a v a
• پروفایل وسيله ي انتقال و حركت است( MIDP)
• پروفایل ها به دیجیتال شخصی کمک می کنند ( PDAP)
• Handel pro fill( HP)
• انجام دادن پروفایل (FP)
• پروفایل شخصی( PP)
• پروفایل روش مجزاست(RMIP)
KJAVA
K java يك پروفایل شخصي خورشيدي که برای J2SE جانشين شده ۰JCP شامل كار هاي مربوط به K java نيست k java يك وسيله اي بالاتر از CLDC است توانايي كامل ان با CLDC است ان توجه دارد به يك وسيله اي براي نشان دادن يك پروفایل بر CLDC است۰
وارد كردن اطلاعات در KVM ىر يك انجام K java است شبيه به يك وسيله كلاسيك j2SE واقعي است واستاندارد K java API استفاده مي شود باكت هايي كه در
K java API. com. Sun .k java استفاده ميشوند به اندازه ي يك plam در سيستم عامل وشبيه به J2SE است ۰

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

PDAP
PDAP وسيله اي است كه حافطه ي ان كمتر از ۵۱۲ KB و بيشتر از ۱۶ MB نيست ۰

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

Handel pro file( Hp)
براي كسب اطلاعات بيشتر به سايت http://www.java.sun.com/ مراجعه فرماييد۰

Foundation pro file( FP)

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

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

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

JSR-82

JSR-82 شامل JAVA API ها براي Bluetooth تكنولوژی بی سیم است یک استاندارد پاکت است که پروتکل Bluetooth محلی و RF COMM .RFCOMM. OBEX.SDP را فراهم مي كند۰ان قصد دارد كه با يك توانايي در محيط باز كاربرد Bluetooth توسعه دهد۰ورژن های اینده ممکن پروتکل های adition را فراهم كند۰
JABWT يك اصلي براي( ژنريك اتصال زير سازي)( GCF) كه شامل J2ME CLDC وكلاس هاي موجود I/O در CLDC مي شود۰
JSR-82 ها براي غلبه بر CLDC طراحي شده اندواستفاده ميشوند مانند يك MIDP توسعه يافته بنابراين JABWT مي تواند با MIDP استفاده شود ان فقط به CLDC APIها و بي توجه بودن MIDP و بي تاثير بودن رفتار ان بستگی دارد Bluetooth اصل JABWT را شامل مي شود ۰
بعضی از اعضای سازمان ها تشکیل شده اند از گروههای خبری که شامل JABWT هستند كه سيتم هاي توسعه يافته و IBM وموتور هاي الكتريكي و ىر اصل وساد گي نرم افزارو ازمايشگاهي ىر امريكاوحركت ارتباطات ووسيله هاي شبكه نيرومند تحقيق مي كنند۰

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

• موافق بودن با خصوصيت CLDC
• ارتباظ دهنده شبكه Bluetooth
• حافظه كمتر از ۵۱۲kb
• انجام همكاري با GcfازCLDC
• OBEX APIبايد تعريف شده باشد و به طور مستقل در هسته API Bluetooth استفاده شود
• API كاربردش در هر يك از كلاينت يا سرور يا هر ىوي انها
• كه مي تواند سطح روي هر سكو java از CDC وj2SE و J2EF باشد
• موافق بودن سخت افزار Bluetooth و ارتباط دهنده نرم افزار با Bluetooth

سيتم Bluetooth به اين شكل تعريف ميشود
• SPP
• Type1 RFCOMM
• L2cap
• Bluetooth كنترل مي كند مركز ( BCC) و توسعه مي دهد تجهيزات سازنده ابتدايي(OEM)به پارامترهای شکل stack كترل مي كند

JABWT
JABWT شامل دو باكت است:
۱٫ java x . bluetooth
2. java x .o b x
اين دو باكتهاي اختياري ومجزا هستندبه اين معني كه يك CLDC وسيله اي كه مي تواند هر دو باكت يا يكي از ىو باكت ها را در خود جاي دهدهر ىو باكت يك باكت توسعه يافته java x. micro edition

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

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

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

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

MIDP, Bluetooth API
JABWT يك ارتباط بين MIDP و Bluetooth است بنابراين ابزارهاي MIDP انتظار دارند كه هدف تجارت براي پيوستگي JSR- 82 در مرحله ي اول است۰
دياگرام زير نشان مي دهد كه JABWT در معماري J2ME اندازه است۰
Bluetooth API و MIDP API مي توانند همزيستي باشند اما وابسته به يكديگر نيستند بنابراين يك مي تواند وسيله JSR-82 به اندازه ي CLDC + JABWT)) يا اينكه به اندازه ي ( CLDC+MIDP+JABWT) باشد

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

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

توصيف وانتقال رابطه ها
رابطه ها اين اجازه را دارند كه يك كاربرد دريافت كشف وسيله وسرويس دهي را انجام دهد حتي اعلام كردن اين انتقال ۴ روش وجود دارد ۲ تاي ان براي وسيله ي كشف شده و۲ تاي ان براي سرويس كشف شده است۰

نام هاي فيلد وتوصيف
Inquiry-completed نشان مي دهد كه كاربرد نرمال يك وسيله ي كار كشف را انجام دهد
۰
Inquiry-Error نشان مي دهد كه خطايي كه ىر طي بازجويي از خواسته ها رخ مي دهد
۰
Inquiry-terminal نشان مي دهد كه واضح است كه يك وسيله اي كه مراحل ان به وسيله ي كاربردش كشف شده است۰

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

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

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

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

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

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

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

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

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

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

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

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

مي دهيم۰

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