قسمت قبلی: نسخههای جاواکارت و اصطلاحات
در قسمت های پیشین با ساختار کلّی جاواکارت و مفاهیم ابتدایی ضروری آن آشنا شدیم و دانستیم که برای آغاز به نوشتن یک اپلت و تبدیل آن به فایل cap. (فایلی که روی کارت بارگذاری و نصب میشود) ابتدا به یک IDE (محیط برنامه نویسی)، یک مجموعه API (واسط های از پیش نوشته شدهی JCDK , JDK)، یک ابزار برای بارگذاری و نصب اپلت و نهایتا یک ابزار برای ارتباط با آن نیاز داریم. در این قسمت مراحل نوشتن اپلت و تولید فایل cap. را در محیط Netbeans بررسی میکنیم.
Netbeans:
طبق آنچه پیش تر گفته شد، برنامه نویسی برای جاواکارت در محیط Netbeans، برای مواقعی مناسب از که کارت مورد نظر ما از نسخه ی جاواکارت 3.0.1 یا بالاتر پشتیبانی کند. البته لازم به ذکر است که به سبب Backward Compatible بودن استانداردهای جاواکارت، نوشتن اپلت هایی برای کارت های از ورژن پایین تر نیز در محیط Netbeans امکان پذیر است و حتی میتوان از آنها فایل cap. تولید کرد و در Simulatorهای این IDE آنها را بررسی کرد، لیکن، ورژن فایل نهایی 3.0.1 خواهد بود و قابلیت بارگذاری روی کارت پایین تر را نخواهد داشت.
و اما روند نوشتن و تولید اپلت:
پس از اجرای Netbeans، از منوی File گزینهی New Project را انتخاب میکتیم تا پنجره ی زیر ظاهر شود:
طبق تصویر بالا از سمت چپ گروه Java Card (چنانچه این گزینه را ندارید، باید نسخهی جدیدتری از Netbeans را دریافت کنید یا پلاگین های مربوطه را دانلود و نصب کنید) و از سمت راست نوع پروژه را Classic Applet Project (جهت آشنایی به قبلی آموزش مراجعه کنید) انتخاب میکنیم و روی Next کلیک میکنیم تا پنجرهی زیر ظاهر شود:
در این پنجره و پنجره ی بعدی نام پروژه (نام کلاس اپلت)، نام پکیج اپلت، AID پکیج و AID اپلت را مشخص میکنیم. رسم بر این است که نام Package با حروف کوچک و نام Class با حروف بزرگ آغاز شود. همانطور که مشاهده میکنید Netbeans به صورت تصادفی یک AID شش بایتی به اپلت اختصاص داده است. فرمت این AID به صورت زیر است:
//aid/<First mandatory 5 bytes>/<Up to 11 bytes optional bytes>
به منظور راحت بودن در به خاطر سپردن AID میتوانید مقدار دیگری مانند 010203040506 جایگزین آن کنید و پس از آن با کلیک مجدد روی Next به پنجرهی اختصاص AID به پکیج اپلت هدایت میشوید که فرمت آن به همان صورت AID مربوط به اپلت است. لازم به ذکر نیست که AID پکیج و اپلت باید با هم حداقل در یک "بیت" تفاوت داشته باشند. به صورت معنایی، اختصاص 5 بایت اول یکسان به AID اپلت و پکیج منطقی تر از متفاوت بودن آنها است.
نکته: در میانهی پنجرهی فوق دو گزینهی Platforms و Cards به ترتیب نسخههای جاواکارت نصب شده روی Netbeans و نوع جاواکارتی که Simulator از آن استفاده میکند را مشاهده میکنیم. با احتمال بالایی، برای هرکدام تنها همین گزینههای مشخص شده را خواهید داشت، بنابرین در مورد آنها بعدا صحبت خواهیم کرد.
پنجرهی نهایی که با اختصاص Package AID و کلیک روی Finish به صفحهی نوشتن کد منتقل میشویم:
پس از کلیک روی دکمهی Finish، نرم افزار Netbeans به صورت اتوماتیک سورس-کدِ سادهترین اپلتِ ممکن را در اختیار شما قرار میدهد تا با ایجاد تغییر و توسعهی آن، به صورت ساده تر اپلت مورد نظر خود را تولید کنید [سورس کد تولید شده توسط Netbeans تنها چهارچوب کلی است و هیچ فعالیتی انجام نمیدهد]. در مورد ساختار این سورس-کد و نحوهی توسعهی آن در پست های بعدی توضیحاتی داده خواهد شد، اما انتظار میرود خواننده خودش با مراجعه به سند Java Card API Specification دانش لازم را کسب کند.
پس از ایجاد تغییرات لازم، با استفاده از ابزارهای مشخص شده که معادل هر کدام از آنها در تَب Run وجود دارد پروژه ی نوشته شده را Build میکنیم و در صورتی که قصد استفاده از Simulator را داشته باشیم با کلید روی مثلث سبز رنگ اپلت را اجرا میکنیم.
همانگونه که در تصویر بالا مشاهده میکنید، پس از کلید روی Build (چکش)، IDE با پیام BUILD SUCCESSFUL ما را از ساخت موفقیت آمیز فایل cap. آگاه میکند. چنانچه در کد برنامه خطایی وجود داشته باشد، عملیات Build با شکست مواجه میشود، ولی ساخت موفقیت آمیز فایل cap. نه به معنای این است که اپلت روی کارت به درستی کار خواهد کرد و نه حتی به معنای این است که اپلت روی کارت باگذاری و نصب خواهد شد! (در آینده با مثال هایی از هر دو مورد روبرو خواهیم شد).
قابل ذکر است که فایل cap. تولید شده، درون دایرکتوری ای با مسیر زیر قرار میگیرد:
Documents\NetBeansProjects\<YourProjectName>\dist\*.cap
آسمانیتر از آنی که کنارت باشم
حفظ کن فاصله را تا به تو عادت نکنم ...
#صنم_نافع