PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Java ME يا J2ME چيست؟



Borna66
05-21-2012, 11:25 PM
Java 2 Micro Editionيا به اختصار J2ME يکي از سه تکنولوژي اصلي شرکت سان ميکرو سيستمز است که براي برنامه نويسي در گوشي هاي موبايل يا ساير دستگاههاي بدون سيم استفاده مي شود. زبان جاوا از پروژه شکست خورده اي به نام Green سر بر آورد. هدف اين پروژه ايجاد يک زبان برنامه نويسي براي انواع دستگاههاي الکترونيکي مخصوصا تلويزيونها و کنترلهاي از راه دور آنها بود. قرار بود اين پروژه بر روي همه انواع اين دستگاهها پياده‌سازي شود و مزيت آن اين باشد که بعد از يکبار نوشتن کد آنرا در هر وسيله اي بتوان اجرا کرد. به دلايلي اين پروژه شکست خورد و به مرحله اجرا نرسيد.
بعد از ظهور وب و اتصال انواع و اقسام پلت فرمهاي سخت افزاري و نرم افزاري به آن، نياز به وجود يک زبان پيدا شد که خروجي آن بر روي صفحات وب قادر به اجرا بر روي تمامي پلتفرمها باشد. براي مثال يک برنامه را فقط با يک بار کد نويسي و بدون تغيير در آن بتوان در انواع سيستمهاي عامل نظير ويندوز، لينوکس و مکينتاش اجرا نمود.اين شد که دوباره پروژه گرين به روي کار آمد و با تغيير نام و به همراه داشتن قابليت "يکبار بنويس و در همه جا اجرا کن" به جهان عرضه شد. جاوا متولد شد و دنياي وب را تغيير داد!
شما هرگز نمي توانيد اين قابليت "يکبار بنويس و در همه جا اجرا کن" را در هيچ زبان برنامه نويسي ديگري پيدا کنيد. به اين خاصيت در اصطلاح فني "Portable" يا قابل حمل گفته مي شود.
بعد از ظهور تکنولوژي بي سيم و به خصوص به روي کار آمدن موبايل احساس شد که مي توان براي دستگاههاي کوچک نيز برنامه نوشت. اينجا بود که باز زبان جاوا با همان قابليت مذکور قد علم کرد.
قبل از اينکه فراموش شود بايد خاطر نشان کنم که اين خاصيت توسط "ماشين مجازي جاوا" يا JVM فراهم مي‌شود. يعني براي هر پلتفرمي يک ماشين مجازي جاواي مخصوص نوشته شده که کدهاي تبديل شده را براي آن پلتفرم مخصوص ترجمه مي کند. تذکر اين نکته بسيار مهم است که زبان Java Script هيچ شباهتي به زبان برنامه نويسي جاوا ندارد و هيچ ريطي هم به آن ندارد!

Borna66
05-21-2012, 11:25 PM
بررسي ساختار Java ME

تكنولوژي Java ME در اصل براي ايجاد امكان برنامه نويسي در دستگاه هاي كوچك بوجود آمد. به همين منظور Sun مجموعه اي از حداقل امكانات مورد نياز براي توليد برنامه هاي كاربردي براي دستگاه هايي با حافظه محدود، باطري با ظرفيت پايين، صفحه نمايش ضعيف و ... فراهم نمود.

تكنولوژي Java ME بر مبناي سه جز اصلي بنا شده است:
1- configuration : اين بخش شامل مجموعه از كتابخانه ها و امكانات پايه اي ماشين مجازي جاوا بوده كه به كمك آن، طيف وسيعي از تجهيزات «مانند موبايل و ...» توانايي اجراي برنامه هاي جاوا نوشته شده براي اين نوع از تجهيزات را پيدا مي كنند.
2- profile : علاوه براي كتابخانه هاي موجود در configuration، هر گروه از تجهيزات كه معمولا توسط يك توليد كننده ساخته مي شوند، به مجموعه اي از API ها كه خاص آن گروه از تجهيزات مي باشد نياز دارند. اين API ها در يك profile قرار مي گيرند.
3- optional package : مجوعه اي از API ها اختياري است كه امكانات اضافه اي را در اختيار برنامه نويسي قرار مي دهد و برنامه نويسي بنابر صلاحديد و نياز سيستم از آنها استفاده مي كند.
بطور كلي ‍configuration ها به دو دسته اصلي تقسيم مي شوند. دسته اول مربوط به تجهيزات قابل حمل كوچك مانند موبايل هاي معمولي و دسته دوم مربوط به تجهيزات قابل حمل با ظرفيت و قدرت بالاتر « مانند Smart Phone » مي باشد. configuration گروه اول كه مربوط به تجهيزات ضعيف تر است، Connected Limited Device Configuration >> CLDC (http://java.sun.com/products/cldc/) نام دارد و configuration گروه دوم Connected Device Profile >> CDC (http://java.sun.com/javame/technology/cdc/) نام دارد.
تصوير زير نمايانگر يك ديد كلي از كامپوننت هاي تكنولوژي Java ME و نيز نحوه ارتباط آن با ساير تكنولوژي هاي جاوا مي باشد.

http://pnu-club.com/imported/2012/05/835.jpg

Borna66
05-21-2012, 11:26 PM
محيط configuration مربوط به تجهيزات قابل حمل ضيعف تر يا CLDC


http://pnu-club.com/imported/2012/05/836.jpg
همانطور كه گفته شد اين پيكربندي يا configuration مربوط به تجهيزاتي با پردازنده، حافظه، گرافيك و باطري محدود و ضعيف مورد استفاده قرار مي گيرد. نكته اي كه در تصوير فوق قابل مشاهده مي باشد آن است كه profile ها روي configuration ها قرار مي گيرند و امكانات اضافه تري را به آن اضافه مي نمايند.
در اين تصوير profile ي با نام Mobile Information Device Profile >> MIDP (http://java.sun.com/products/midp/) مورد استفاده قرار گرفته است. اين profile، profile استاندارد تعريف شده توسط sun مي باشد. شركت sun براي راحتي كار برنامه نويسان و به خاطر اينكه آنها با طيف گسترده اي از profile ها مواجه نشوند، يك profile استاندارد تعريف نمود كه قابليت كار در اكثر تجهيزات اين گروه را دارد و از بيشتر امكانات اين تجهيزات پشتيباني مي كند.
بطور كلي اگر CLDC و MIDP موجود باشند مي توان برنامه هاي مورد نياز جهت اجرا بر روي تجهيزات قابل حمل مانند گوشي موبايل را ايجاد نمود. به برنامه هايي كه بر مبناي اين دو عنصر فوق ساخته مي شوند، MIDlet مي گويند. همانند ساير برنامه هاي جاوا، يك MIDlet نيز يكبار نوشته شده و در هر محيطي كه داراي دو مجموعه فوق باشد قابل اجرا مي باشد.

محيط configuration مربوط به تجهيزات قابل حمل قوي تر يا CDC


http://pnu-club.com/imported/2012/05/837.jpg
اين پيكربندي در تجهيزات قابل حمل قوي تر مانند PDA، Smart Phone، set-top box و ... بكار مي رود. CDC نسبت به CLDC از امكانات بيشتري از ماشين مجازي جاوا برخوردار بوده و ابزار هاي توسعه در اين پيكربندي بر مبناي تكنولوژي استاندارد جاوا يا Java SE مي باشد.
در ادامه برخي از مزاياي مهم CDC را مشاهده مي نماييد:
1- امكان برقراري ارتباط با برنامه هاي كاربردي تحت شبكه را فراهم مي كند. اين ويژگي مهم سبب مي شود تا كاربران، مشتريان و ... بتوانند بوسيله تجهيزات قابل حمل خود به برنامه كاربردي دسترسي يافته و از داده هاي آن استفاده نمايند.
2- كاربران و برنامه نويسان از قابليت ها و توانايي ها و امنيت موجود در تكنولوژي جاوا، در برنامه هاي كاربردي تحت تجهيزات قابل حمل خود سود خواهند برد. «استفاده از مزاياي اصلي زبان جاوا»
در CDC سه نوع profile وجود دارد:

1- The Foundation Profile (JSR 219)
2- The Personal Basis Profile (JSR 217)
3- The Personal Profile (JSR 216) براي كسب اطلاعات بيشتر در اين زمينه مي توانيد به لينك زير مراجعه نماييد:
java.sun.com/technology/cdc/ (http://java.sun.com/javame/technology/cdc/)

Borna66
05-21-2012, 11:26 PM
با توجه به مطالب قبل مي توان گفت كه محيط يا به عبارت دبگر تكنولوژي Java ME تمامي تجهيزات كوچك قابل حمل را تحت پوشش خود قرار مي دهد. از طرفي اين محيط قادر است تا با تكنولوژي هاي ديگر نيز ارتباط برقرار نموده و همچنين بطور پيش فرض از قابليت هاي ذاتي جاوا «مانند امنيت، قابليت حمل برنامه و استقلال از محيط» نيز تبعيت مي كند. نكته مهم ديگر آن است كه سرويس هاي ارائه شده توسط محيط Java ME بين تمام configuration ها و profile ها قابل انتقال و استفاده مي باشند. اين امر به اين معناست كه تجيهزات مختلف با profile ها و configuration ها متفاوت قادر به برقراري ارتباط با يكديگر مي باشند. پس مي توان گفت كه محيط Java ME به گونه اي ماهرانه تمامي اين ويژگي ها و امكانات را در كنار يكديگر و در غالب يك محيط گردآوري نموده است. تصوير زير سعي بر آن دارد تا نكته فوق را بصورت شماتيك ارائه دهد.


http://pnu-club.com/imported/2012/05/838.jpg
چرا از Java ME استفاده كنيم؟
بدرستي مي توان گفت كه محيط جاوا راه حل مناسبي براي ايجاد برنامه هاي كابردي قابل حمل براي تجهيزات بي سيم قابل حمل مي باشد. اين محيط مجموعه غني از كامپوننت هاي مورد نياز براي توليد برنامه هاي كاربردي قابل حمل را در اختيار برنامه نويس قرار مي دهد. اين كامپوننت ها توسط كميته اي متشكل از مهندسين و متخصصين علوم كامپيوتر و ارتباطات كه با عنوان Java Community Process يا JCP شناخته مي شوند، توليد شده اند. هدف اصلي اين كميته چيزي نيست جز حفظ چرخه حيات تكنولوژي Java ME. در واقع با پيشرفت تكنولوژي و توسعه تجهيزات ارتباطي و نيز توسعه سيستم عامل هاي مختلف، نياز است تا محيط Java ME نيز به توسعه خود ادامه داده و بتواند در محيط هاي مختلف و محيط هاي جديدتر، با تجهيزات و ابزارهاي تازه و از همه مهمتر با نيازهاي مختلف كاربران نهايي خود را تطبيق داده و به بهترين شكل نيازهاي موجود را برآورده سازد.


http://pnu-club.com/imported/2012/05/839.jpg