Skip to content

5. پیوست‌ها

در اینجا نصب و استفاده اولیه از ابزارهای مورد استفاده در سند «پایداری جاوا ۵ در عمل» را شرح می‌دهیم. اطلاعات ارائه شده در زیر، اطلاعاتی است که در ماه مه ۲۰۰۷ در دسترس بوده است. این اطلاعات به زودی منسوخ خواهد شد. هنگامی که این اتفاق می‌افتد، به خواننده توصیه می‌شود رویه‌های مشابه اما نه یکسان را دنبال کند. نصب‌ها روی یک ماشین ویندوز XP Professional انجام شده‌اند.

5.1. Java

ما از آخرین نسخهٔ جاوا که از شرکت Sun [http://www.sun.com] در دسترس است، استفاده خواهیم کرد. دانلودها از طریق آدرس URL [http://java.sun.com/javase/downloads/index.jsp] در دسترس هستند:

Image

Image

نصب‌کننده JDK را از فایل دانلود شده اجرا کنید. به‌طور پیش‌فرض، جاوا در [C:\Program Files\Java] نصب می‌شود:

Image

5.2. Eclipse

5.2.1. نصب پایه

Eclipse یک IDE است که در URL [http://www.eclipse.org/] در دسترس است و می‌توان آن را از URL [http://www.eclipse.org/downloads/] دانلود کرد. در زیر، ما Eclipse 3.2.2 را دانلود می‌کنیم:

Image

پس از دانلود فایل ZIP، آن را در یک پوشه روی هارد دیسک خود استخراج کنید:

Image

از این پس، پوشه نصب Eclipse را که در بالا با نام [C:\devjava\eclipse 3.2.2\eclipse] نشان داده شده است، با نام <eclipse> خطاب خواهیم کرد. [eclipse.exe] فایل اجرایی و [eclipse.ini] فایل پیکربندی آن است. بیایید نگاهی به محتویات مورد دوم بیندازیم:

1
2
3
-vmargs
-Xms40m
-Xmx256m

این آرگومان‌ها هنگام راه‌اندازی Eclipse به شرح زیر استفاده می‌شوند:

eclipse.exe -vmargs -Xms40m -Xmx256m

ما با ایجاد یک میانبر که اکلیپس را با همین آرگومان‌ها اجرا می‌کند، به همان نتیجهٔ فایل .ini می‌رسیم. بیایید آن‌ها را توضیح دهیم:

  1. -vmargs: نشان می‌دهد که آرگومان‌های بعدی برای ماشین مجازی جاوایی هستند که اکلپس را اجرا می‌کند. اکلپس یک برنامهٔ جاوا است.
  2. -Xms40m: ؟
  3. -Xmx256m: اندازه حافظه (به مگابایت) اختصاص‌یافته به ماشین مجازی جاوا (JVM) که اکلپس را اجرا می‌کند، تعیین می‌نماید. به‌طور پیش‌فرض، این مقدار ۲۵۶ مگابایت است، همان‌طور که در اینجا نشان داده شده است. اگر سیستم اجازه دهد، ۵۱۲ مگابایت ارجح است.

این آرگومان‌ها به JVM که اکلپس را اجرا می‌کند، ارسال می‌شوند. JVM توسط فایلی به نام [java.exe] یا [javaw.exe] نمایش داده می‌شود. این فایل چگونه مکان‌یابی می‌شود؟ در واقع، به روش‌های مختلفی مکان‌یابی می‌شود:

  • در فایل PATH درون OS
  • در پوشه <JAVA_HOME>/jre/bin، که در آن JAVA_HOME یک متغیر سیستم است که پوشه ریشه یک JDK را تعریف می‌کند.
  • به مسیری که به صورت یک آرگومان به Eclipse در قالب -vm <path>\javaw.exe ارسال می‌شود

این راه‌حل آخر ارجح است، زیرا دو راه‌حل دیگر به دگرگونی‌های نصب‌های بعدی برنامه‌ها بستگی دارند که ممکن است یا PATH را در OS تغییر دهند یا متغیر JAVA_HOME را تغییر دهند.

بنابراین ما میانبر زیر را ایجاد می‌کنیم:

Image

cible
<eclipse>\eclipse.exe" -vm "C:\Program Files\Java\jre1.6.0_01\bin\javaw.exe" -vmargs -Xms40m -Xmx512m
Démarrer dans
پوشه نصب اکلیپس <eclipse>

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

Image

یک [workspace] یک فضای کاری (workspace) است. بیایید مقادیر پیش‌فرض ارائه‌شده را بپذیریم. به‌طور پیش‌فرض، پروژه‌های Eclipse در پوشه <workspace> مشخص‌شده در این کادر محاوره‌ای ایجاد خواهند شد. راهی برای تغییر این رفتار وجود دارد. کاری که ما به‌طور سیستماتیک انجام خواهیم داد همین است. بنابراین، پاسخ داده‌شده در این کادر محاوره‌ای مهم نیست.

پس از تکمیل این مرحله، محیط توسعه اکلیپس نمایش داده می‌شود:

Image

ما نمای [Welcome] را همانطور که در بالا پیشنهاد شد، می‌بندیم:

Image

قبل از ایجاد یک پروژه جاوا، اکلپس را پیکربندی می‌کنیم تا JDK مورد استفاده برای کامپایل پروژه‌های جاوا را مشخص کند. برای این کار، گزینه [Window / Preferences / Java / Installed JREs ] را انتخاب می‌کنیم:

Image

به طور معمول، JRE (محیط اجرایی جاوا) که برای راه‌اندازی خود Eclipse استفاده می‌شود، باید در لیست JRE ظاهر شود. این معمولاً تنها مورد خواهد بود. با استفاده از دکمه [Add] می‌توان موارد JRE را اضافه کرد. سپس باید دایرکتوری ریشه فایل JRE را مشخص کنید. از سوی دیگر، دکمه [Search] جستجویی برای JREs را روی هارد دیسک آغاز می‌کند. این روش خوبی برای بررسی وضعیت هرگونه فایل JREs است که نصب کرده‌اید اما هنگام ارتقا به نسخه جدیدتر فراموش کرده‌اید آن را حذف نصب کنید. در بالا، JRE که تیک خورده است، همان گزینه‌ای است که برای کامپایل و اجرای پروژه‌های جاوا استفاده می‌شود. این همان گزینه‌ای است که در بخش 5.1 نصب شد و برای راه‌اندازی اکلیپس نیز به کار رفت. با دوبار کلیک روی آن، به ویژگی‌هایش دسترسی پیدا می‌کنید:

Image

اکنون، بیایید یک پروژه جاوا به نام [File / New / Project] ایجاد کنیم:

[Java Project] را انتخاب کنید، سپس [Next] ->

Image

در [2]، یک پوشه خالی را مشخص می‌کنیم که پروژه جاوا در آن نصب خواهد شد. در [1]، به پروژه یک نام می‌دهیم. لازم نیست که نام آن مطابق با نام پوشه‌اش باشد، همانطور که مثال بالا ممکن است نشان دهد. پس از انجام این کار، از دکمه [Next] برای رفتن به صفحه بعدی جادوگر ایجاد استفاده می‌کنیم:

Image

در بالا، ما یک پوشهٔ اختصاصی درون پروژه ایجاد می‌کنیم تا فایل‌های منبع (.java) را در آن ذخیره کنیم:

Image

  • در [1]، می‌توانیم پوشه [src] را ببینیم که فایل‌های منبعی با پسوند .java در آن ذخیره خواهند شد
  • در [2]، پوشه [bin] را می‌بینیم که فایل‌های کامپایل‌شده .class در آن ذخیره خواهند شد

ما جادوگر را با [Finish] تکمیل می‌کنیم. اکنون ما یک اسکلت پروژهٔ جاوا داریم:

Image

روی پروژه [test1] کلیک راست کرده و یک کلاس جاوا ایجاد کنید:

Image

  1. در [1]، پوشه‌ای که کلاس در آن ایجاد خواهد شد. به‌طور پیش‌فرض، اکلیپس پوشه پروژهٔ جاری را پیشنهاد می‌دهد.
  2. در [2]، پکیجی که کلاس در آن قرار خواهد گرفت
  3. در [3]، نام کلاس
  4. در [4]، مشخص می‌کنیم که متد استاتیک [main] باید ایجاد شود

ما با [Finish] ویزارد را تأیید می‌کنیم. سپس پروژه با یک کلاس تقویت می‌شود:

Image

ایکلپس اسکلت کلاس را تولید کرده است. می‌توان با دوبار کلیک روی [Test1.java] در بالا به آن دسترسی پیدا کرد:

Image

ما کد بالا را به شرح زیر اصلاح می‌کنیم:

Image

ما برنامه [Test1.java] را اجرا می‌کنیم: [clic droit sur Test1.java -> Run As -> Java Application]

Image

نتیجهٔ اجرای برنامه در پنجرهٔ [Console] نمایش داده می‌شود:

Image

پنجره [Console] باید به‌طور پیش‌فرض ظاهر شود. اگر این اتفاق نیفتاد، می‌توانید با استفاده از [Window/Show View/Console] درخواست نمایش آن را بدهید:

Image

5.2.2. انتخاب کامپایلر

Eclipse به شما امکان می‌دهد کد سازگار با Java 1.4، Java 1.5 و Java 1.6 تولید کنید. به‌طور پیش‌فرض، برای تولید کد سازگار با Java 1.4 پیکربندی شده است. دستورات API و JPA به کد Java 1.5 نیاز دارند. نوع کد تولید شده توسط [Window / Preferences / Java / Compiler] را تغییر می‌دهیم:

  • به [1]: انتخاب گزینه [Java / Compiler]
  • به [2]: انتخاب سازگاری جاوا ۵.۰

5.2.3. نصب Callisto s

نسخهٔ پایه‌ای نصب‌شده در بالا به شما امکان می‌دهد برنامه‌های کنسول جاوا را بسازید، اما برنامه‌های مبتنی بر وب یا Swing جاوا را نه؛ در غیر این صورت، باید همه چیز را خودتان انجام دهید. ما قصد داریم چندین افزونه را نصب کنیم:

بیایید به شرح زیر ادامه دهیم [Help/Software Udates/Find and Install]:

  • در [2] مشخص می‌کنیم که می‌خواهیم پلاگین‌های جدید را نصب کنیم
  • در [3]، سایت‌های جستجو برای افزونه‌ها را مشخص کنید
  • در [4]، پلاگین‌های مورد نظر را تیک بزنید
  • در [5]، Eclipse نشان می‌دهد که شما پلاگینی را انتخاب کرده‌اید که به پلاگین‌های دیگری وابسته است که انتخاب نشده‌اند
  • در [6]، از دکمه [Select Required] برای انتخاب خودکار پلاگین‌های از دست رفته استفاده کنید
  • در [7]، شما شرایط مجوز این پلاگین‌های مختلف را می‌پذیرید
  • در [8]، فهرستی از تمام افزونه‌هایی که قرار است نصب شوند به شما نمایش داده می‌شود
  • در [9]، دانلود این پلاگین‌ها را آغاز می‌کنید
  • در [10]، پس از دانلود، همهٔ آن‌ها بدون بررسی امضاهایشان نصب می‌شوند
  • در [11]، پس از نصب پلاگین‌ها، اجازه می‌دهیم اکلپس دوباره راه‌اندازی شود
  • در [12]، اگر [File/New/Project] را اجرا کنید، خواهید دید که اکنون می‌توانید برنامه‌های وب ایجاد کنید، که در ابتدا امکان‌پذیر نبود.

5.2.4. نصب افزونه [TestNG]

TestNG (آزمون نسل بعدی) یک ابزار تست واحد است که از نظر مفهوم مشابه JUnit است. با این حال، بهبودهایی ارائه می‌دهد که باعث می‌شود در اینجا آن را به JUnit ترجیح دهیم. ما طبق روال قبل ادامه می‌دهیم: [Help/Software Udates/Find and Install]:

  • در [2]، مشخص می‌کنیم که می‌خواهیم افزونه‌های جدید را نصب کنیم
  • در [3a]، سایت دانلود برای [TestNG] وجود ندارد. ما آن را با [3b] اضافه می‌کنیم
  • در [4b]: سایت افزونه [http://beust.com/eclipse] است. در [4a]، هر چه دوست دارید وارد کنید.
  • در [5a]، افزونه [TestNG] برای به‌روزرسانی انتخاب شده است. در [5b]، به‌روزرسانی آغاز می‌شود.
  • در [6]، ارتباطی با وب‌سایت افزونه برقرار شده است. تمام افزونه‌های موجود در سایت به ما نمایش داده می‌شوند. در اینجا تنها یک افزونه وجود دارد که قبل از رفتن به مرحله بعدی آن را انتخاب می‌کنیم.
  • در [7]، شرایط مجوز افزونه را می‌پذیریم
  • در [8]، فهرستی از تمام افزونه‌هایی که باید نصب شوند به ما نشان داده می‌شود؛ در اینجا تنها یک مورد وجود دارد. دانلود را آغاز می‌کنیم. پس از آن، همه چیز همان‌طور که برای افزونه‌های Callisto در بالا توضیح داده شد، پیش می‌رود.

پس از راه‌اندازی مجدد Eclipse، می‌توانید با مشاهدهٔ ویو‌های موجود [Window / show View / Other]، برای مثال، وجود پلاگین جدید را تأیید کنید:

 

همانطور که در بالا نشان داده شده است، اکنون یک نما به نام [TestNG] وجود دارد که قبلاً وجود نداشت.

5.2.5. نصب افزونه [Hibernate Tools]

Hibernate یک ارائه‌دهنده JPA است و افزونه [Hibernate Tools] برای Eclipse برای ساخت برنامه‌های JPA مفید است. از مهٔ ۲۰۰۷، تنها نسخهٔ جدید آن (3.2.0beta9) به شما امکان کار با Hibernate/JPA را می‌دهد و این نسخه از طریق روش فوق در دسترس نیست. تنها نسخه‌های قدیمی‌تر در دسترس هستند. بنابراین، ما به روش دیگری ادامه خواهیم داد.

این افزونه در وب‌سایت Hibernate Tools در دسترس است: http://tools.hibernate.org/.

  • برای [1]، جدیدترین نسخه از Hibernate Tools را انتخاب کنید
  • در [2]، آن را دانلود کنید
  • در [3]، از یک ابزار اکستراکت (unzip) برای استخراج فایل زیپ دانلود شده به داخل پوشه <eclipse> استفاده کنید (بهتر است اطمینان حاصل کنید که اکلیپس در حال اجرا نیست)
  • در [4]، تأیید کنید که برخی فایل‌ها در طول عملیات بازنویسی خواهند شد

ایکلپس را مجدداً راه‌اندازی کنید:

  • در [1]: یک چشم‌انداز را باز کنید
  • در [2]: اکنون یک دیدگاه [Hibernate Console] وجود دارد

ما دیگر با افزونه [Hibernate Tools] (لغو در [2]) ادامه نخواهیم داد. نحوه استفاده از آن در مثال‌های آموزش توضیح داده شده است.

گاهی اوقات اکلیپس قادر به شناسایی پلاگین‌های جدید نیست. می‌توانید با استفاده از گزینه -clean آن را مجبور به بازخوانی مجدد تمام پلاگین‌هایش کنید. فایل اجرایی میانبر اکلیپس سپس به شکل زیر تغییر خواهد کرد:


"<eclipse>\eclipse.exe" -clean -vm "C:\Program Files\Java\jre1.6.0_01\bin\javaw.exe" -vmargs -Xms40m -Xmx512m

پس از شناسایی پلاگین‌های جدید توسط اکلیپس، گزینه -clean را که در بالا نشان داده شده است، حذف کنید.

5.2.6. نصب پلاگین [SQL Explorer]

اکنون یک افزونه را نصب خواهیم کرد که به ما امکان می‌دهد محتویات یک پایگاه داده را مستقیماً از طریق اکلیپس بررسی کنیم. افزونه‌های موجود برای اکلیپس را می‌توان در وب‌سایت [http://eclipse-plugins.2y.net/eclipse/plugins.jsp] یافت:

  • در [1]: وب‌سایت پلاگین‌های Eclipse
  • در [2]: دسته [Database] را انتخاب کنید
  • در [3]: در دسته‌بندی [Database]، « مرتب‌سازی بر اساس امتیاز » را انتخاب کنید (با توجه به تعداد کم رأی‌دهندگان چندان قابل اعتماد نیست)
  • در [4]: QuantumDB در جایگاه اول قرار دارد
  • در [5]: ما SQLExplorer را انتخاب می‌کنیم که قدیمی‌تر و در رتبه‌بندی پایین‌تر (رتبهٔ ۳) است اما همچنان بسیار خوب است. ما به وب‌سایت افزونهٔ [plugin-homepage] می‌رویم
  • برای [6] و [7]: به دانلود افزونه می‌پردازیم.
  • و [8]: فایل ZIP افزونه را در پوشه Eclipse از حالت فشرده خارج کنید.

برای بررسی، اکلیپس را مجدداً راه‌اندازی کنید و در صورت لزوم از گزینه -clean استفاده کنید:

  • در [1]: یک چشم‌انداز جدید باز کنید
  • در [2]: می‌توانید ببینید که یک چشم‌انداز [SQL Explorer] در دسترس است. بعداً به این موضوع باز خواهیم گشت.

5.3. سرورlet کانtejner Tomcat ۵.۵

5.3.1. نصب

برای اجرای سرولت‌ها، به یک کانتینر سرولت نیاز داریم. در اینجا یکی از این کنتینرها، Tomcat 5.5، را که در http://tomcat.apache.org/ در دسترس است، معرفی می‌کنیم. ما مراحل نصب آن (مه ۲۰۰۷) را تشریح می‌کنیم. اگر نسخه قبلی Tomcat قبلاً نصب شده باشد، بهتر است ابتدا آن را حذف کنید.

Image

برای دانلود محصول، لینک [Tomcat 5.x] بالا را دنبال کنید:

Image

می‌توانید فایل .exe را برای پلتفرم ویندوز دانلود کنید. پس از دانلود، با دوبار کلیک روی آن، نصب Tomcat را آغاز کنید:

Image

شرایط مجوز را بپذیرید ->

Image

[next] را انتخاب کنید ->

Image

پوشه نصب پیشنهادی را بپذیرید یا آن را با استفاده از [Browse] -> تغییر دهید

Image

نام کاربری و رمز عبور مدیر سرور Tomcat را تنظیم کنید. در اینجا، ما [admin / admin] -> را تنظیم کرده‌ایم.

Tomcat 5.x به JRE نسخه ۱.۵ نیاز دارد. این نسخه معمولاً باید نسخه نصب‌شده روی سیستم شما را پیدا کند. در بالا، مسیر مشخص‌شده مربوط به JRE نسخه ۱.۶ است که در بخش ۵.۱ دانلود شده است. اگر هیچ JRE یافت نشد، با استفاده از دکمه [1] مسیر ریشه آن را مشخص کنید. پس از انجام این کار، از دکمه [Install] برای نصب Tomcat 5.x استفاده کنید ->

Image

دکمه [Finish] نصب را تکمیل می‌کند. وجود Tomcat با آیکونی در سمت راست نوار وظایف ویندوز نشان داده می‌شود:

Image

کلیک راست روی این آیکون دسترسی به دستورات شروع و توقف سرور را فراهم می‌کند:

Image

ما اکنون از گزینه [Stop service] برای متوقف کردن وب‌سرور استفاده می‌کنیم:

Image

تغییر وضعیت آیکون را توجه کنید. این آیکون را می‌توان از نوار وظیفه حذف کرد:

Image

Tomcat در پوشه‌ای که توسط کاربر انتخاب شده است نصب شده است، که از این پس آن را <tomcat> می‌نامیم. ساختار دایرکتوری نسخه دانلود شده Tomcat 5.5.23 به شرح زیر است:

Image

نصب Tomcat تعدادی میانبر به منوی [Démarrer] اضافه کرده است. ما از لینک [Monitor] زیر برای راه‌اندازی ابزار شروع/توقف Tomcat استفاده می‌کنیم:

Image

سپس آیکون نمایش‌داده‌شده در بالا را مشاهده می‌کنیم:

Image

مانیتور Tomcat را می‌توان با دوبار کلیک روی این آیکون راه‌اندازی کرد:

Image

دکمه‌های [Start - Stop - Pause] - Restart به ما امکان راه‌اندازی، توقف و راه‌اندازی مجدد سرور را می‌دهند. ما سرور را با استفاده از [Start] راه‌اندازی می‌کنیم، سپس با استفاده از یک مرورگر وب به آدرس http://localhost:8080 می‌رویم. باید صفحه‌ای مشابه شکل زیر ببینیم:

Image

می‌توانید برای اطمینان از نصب صحیح Tomcat، پیوندهای زیر را دنبال کنید:

Image

تمام لینک‌های صفحه [http://localhost:8080] حائز اهمیت هستند و خواننده تشویق می‌شود آن‌ها را بررسی کند. ما فرصت خواهیم داشت تا دوباره به لینک‌های مورد استفاده برای مدیریت برنامه‌های وب مستقرشده روی سرور مراجعه کنیم:

Image

5.3.2. راه‌اندازی یک برنامه وب روی سرور Tomcat

5.3.3. استقرار

یک برنامه وب برای استقرار در داخل یک کانtejner servlet باید از قوانین خاصی پیروی کند. فرض کنید <webapp> دایرکتوری یک برنامه وب باشد. یک برنامه وب شامل موارد زیر است:

classes
در پوشه <webapp>\WEB-INF\classes
archives java
در پوشه <webapp>\WEB-INF\lib
vues, ressources (.jsp, .html, ...)
در پوشه <webapp> یا زیرپوشه‌های آن

برنامهٔ وب توسط فایلی به نام XML پیکربندی می‌شود: <webapp>\WEB-INF\web.xml. این فایل در موارد ساده، به‌ویژه زمانی که برنامه وب تنها شامل فایل‌های ایستا باشد، ضروری نیست. بیایید فایل زیر HTML را ایجاد کنیم:

<html>
    <head>
      <title>Application exemple</title>
  </head>
  <body>
      Application exemple active ....
  </body>
</html>

و بیایید آن را در یک پوشه ذخیره کنیم:

Image

اگر این فایل را در یک مرورگر بارگذاری کنیم، صفحه زیر را مشاهده می‌کنیم:

Image

فایل URL که توسط مرورگر نمایش داده می‌شود، نشان می‌دهد که صفحه توسط وب‌سرور ارائه نشده، بلکه مستقیماً توسط مرورگر بارگذاری شده است. اکنون می‌خواهیم آن از طریق وب‌سرور Tomcat در دسترس باشد.

بیایید به ساختار دایرکتوری <tomcat> بازگردیم:

Image

برنامه‌های وب مستقر شده روی سرور Tomcat با استفاده از فایل‌های XML که در پوشه [<tomcat>\conf\Catalina\localhost] قرار دارند، پیکربندی می‌شوند:

این فایل‌های XML را می‌توان به‌صورت دستی ایجاد کرد، زیرا ساختار آن‌ها ساده است. به‌جای استفاده از این روش، از ابزارهای وب ارائه‌شده توسط Tomcat استفاده خواهیم کرد.

5.3.4. مدیریت تامکت

در صفحهٔ اصلی آن http://localhost:8080، سرور پیوندهایی برای مدیریت آن ارائه می‌دهد:

Image

لینک [Tomcat Administration] به ما امکان می‌دهد منابع در دسترس Tomcat برای برنامه‌های وب مستقرشده روی آن، مانند استخر اتصال پایگاه داده، را پیکربندی کنیم. بیایید این لینک را دنبال کنیم:

Image

صفحه‌ای که ظاهر می‌شود به ما می‌گوید که مدیریت Tomcat 5.x نیازمند یک بستهٔ خاص به نام 'admin' است. بیایید به وب‌سایت Tomcat [http://tomcat.apache.org/download-55.cgi] بازگردیم:

Image

بیایید فایل زیپی با نام [Administration Web Application] را دانلود کرده و سپس آن را از حالت فشرده خارج کنیم. محتویات آن به شرح زیر است:

Image

پوشه [admin] باید در [<tomcat>\server\webapps] کپی شود، جایی که <tomcat> پوشه‌ای است که Tomcat 5.x در آن نصب شده است:

Image

پوشه [localhost] حاوی فایلی به نام [admin.xml] است که باید به [<tomcat>\conf\Catalina\localhost] کپی شود:

Image

تامکت را متوقف کرده و در صورت اجرا بودن، مجدداً راه‌اندازی کنید. سپس با استفاده از یک مرورگر وب، صفحهٔ اصلی وب‌سرور را دوباره بارگذاری کنید:

Image

روی لینک [Tomcat Administration] کلیک کنید. به صفحهٔ ورود هدایت خواهید شد (ممکن است لازم باشد صفحه را «بارگذاری مجدد» یا «تازه کردن» کنید تا آن را ببینید):

در اینجا، باید مشخصات وارد شده در هنگام نصب Tomcat را مجدداً وارد کنید. در مورد ما، برای هر دو نام کاربری و رمز عبور، 'admin' را وارد می‌کنیم. دکمه [Login] ما را به صفحه زیر می‌برد:

Image

این صفحه به مدیر Tomcat اجازه می‌دهد تا تعریف کند

  • منابع داده،
  • اطلاعات مورد نیاز برای ارسال ایمیل (Mail Sessions
  • داده‌های محیطی قابل دسترسی برای همه برنامه‌ها (ورودی‌های محیطی)،
  • مدیریت کاربران و مدیران Tomcat (کاربران)،
  • مدیریت گروه‌های کاربری (گروه‌ها)،
  • برای تعریف نقش‌ها (= آنچه یک کاربر می‌تواند و نمی‌تواند انجام دهد)،
  • برای تعریف ویژگی‌های برنامه‌های وب مستقرشده توسط سرور (سرویس Catalina)

بیایید لینک [Roles] بالا را دنبال کنیم:

Image

یک نقش به شما امکان می‌دهد تعریف کنید که یک کاربر یا گروهی از کاربران چه کارهایی را می‌توانند و چه کارهایی را نمی‌توانند انجام دهند. مجوزهای خاصی با یک نقش مرتبط هستند. به هر کاربر یک یا چند نقش اختصاص داده می‌شود و مجوزهای مربوط به آن نقش‌ها را دارا خواهد بود. نقش [manager] زیر حق مدیریت برنامه‌های وب مستقر در Tomcat (استقرار، راه‌اندازی، خاموش‌سازی، بارگذاری مجدد) را اعطا می‌کند. ما یک کاربر به نام [manager] ایجاد می‌کنیم و نقش [manager] را به او اختصاص می‌دهیم تا بتواند برنامه‌های Tomcat را مدیریت کند. برای این کار، در صفحهٔ مدیریت، پیوند [Users] را دنبال می‌کنیم:

Image

می‌توانیم ببینیم که تعدادی کاربر از قبل وجود دارند. ما از گزینه [Create New User] برای ایجاد یک کاربر جدید استفاده می‌کنیم:

Image

ما به کاربر «manager» رمز عبور «manager» را می‌دهیم و نقش «manager» را به او اختصاص می‌دهیم. از دکمه [Save] برای تأیید این افزودن استفاده می‌کنیم. کاربر جدید در فهرست کاربران ظاهر می‌شود:

Image

این کاربر جدید به فایل [<tomcat>\conf\tomcat-users.xml] اضافه خواهد شد:

Image

که محتویات آن به شرح زیر است:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="manager" password="manager" fullName="" roles="manager"/>
  <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
  • خط ۱۰: کاربر [manager] که ایجاد شده است

راه دیگر برای افزودن کاربران، ویرایش مستقیم این فایل است. این روندی است که در صورت فراموشی رمز عبور حساب‌های کاربری مدیر ('admin' یا 'manager') باید دنبال کنید.

5.3.5. مدیریت برنامه‌های وب مستقر شده

اکنون به صفحه ورود [http://localhost:8080] بازگردیم و پیوند [Tomcat Manager] را دنبال کنیم:

Image

این ما را به یک صفحه احراز هویت می‌برد. ما با نام کاربری manager / manager و رمز عبور c.a.d وارد می‌شویم – کاربری با نقش [manager] که همین الان ایجاد کرده‌ایم. در واقع، تنها کاربری با این نقش می‌تواند از این لینک استفاده کند. در خط ۱۱ از [tomcat-users.xml]، می‌توانیم ببینیم که کاربر [admin] نیز نقش [manager] را دارد. بنابراین می‌توانیم از احراز هویت [admin / admin] نیز استفاده کنیم.

Image

صفحه‌ای به ما نمایش داده می‌شود که فهرست برنامه‌های کاربردی مستقر شده در تام‌کت را لیست می‌کند:

Image

می‌توانیم با استفاده از فرم‌های پایین صفحه یک برنامه جدید اضافه کنیم:

Image

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

Image

Context Path
/example
نامی که برای اشاره به برنامه وب استفاده می‌شود
برای استقرار
Directory URL
C:\data\work\2006-2007\eclipse\dvp-jpa\annexes\tomcat\example
پوشهٔ برنامهٔ وب

برای به‌دست‌آوردن فایل [C:\data\travail\2006-2007\eclipse\dvp-jpa\annexes\tomcat\exemple\exemple.html]، از Tomcat فایل‌های URL و [http://localhost:8080/exemple/exemple.html] را درخواست خواهیم کرد. از این زمینه برای نام‌گذاری ریشهٔ درخت دایرکتوری وب‌اپلیکیشن استقرار یافته استفاده می‌شود. ما از دکمهٔ [Deploy] برای استقرار برنامه استفاده می‌کنیم. اگر همه چیز به‌خوبی پیش برود، صفحهٔ پاسخ زیر را مشاهده خواهیم کرد:

Image

و برنامه جدید در لیست برنامه‌های استقرار یافته ظاهر می‌شود:

بیایید در مورد خط موجود در زمینه /example بالا توضیح دهیم:

/exemple
لینک به http://localhost:8080/exemple
Démarrer
راه‌اندازی برنامه
Arrêter
برنامه را متوقف می‌کند
Recharger
به شما امکان می‌دهد برنامه را دوباره بارگذاری کنید. این کار برای مثال زمانی ضروری است که شما اضافه کرده‌اید،
کلاس‌های خاصی را به برنامه اضافه، تغییر یا حذف کرده‌اید.
Undeploy
زمینه [/exemple] را حذف می‌کند. برنامه از لیست ناپدید می‌شود
از برنامه‌های موجود.

اکنون که برنامهٔ مثال ما مستقر شده است، می‌توانیم چند تست انجام دهیم. ما صفحهٔ [exemple.html] را از طریق URL [http://localhost:8080/exemple/vues/exemple.html] درخواست می‌کنیم:

Image

راه دیگری برای استقرار یک برنامه وب روی سرور Tomcat این است که جزئیات وارد شده از طریق رابط وب را در فایلی به نام [contexte].xml، که در پوشه [<tomcat>\conf\Catalina\localhost] قرار دارد، فراهم کنیم، که در آن [contexte] نام برنامه وب است.

بیایید به رابط مدیریت Tomcat بازگردیم:

Image

بیایید اپلیکیشن [/exemple] را به همراه لینک آن [Undeploy] حذف کنیم:

Image

برنامه [/exemple] دیگر در فهرست برنامه‌های فعال نیست. اکنون بیایید فایل زیر را تعریف کنیم: [exemple.xml]:

<Context docBase="C:/data/travail/2006-2007/eclipse/dvp-jpa/annexes/tomcat/exemple">
</Context>

فایل XML شامل یک تگ واحد <Context> است که ویژگی docBase آن پوشه‌ای را که حاوی برنامه وب برای استقرار است، تعریف می‌کند. بیایید این فایل را در <tomcat>\conf\Catalina\localhost قرار دهیم:

Image

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

Image

اپلیکیشن [/exemple] واقعاً موجود است. بیایید از طریق یک مرورگر به URL دسترسی پیدا کنیم:

[http://localhost:8080/exemple/exemple.html]:

Image

یک برنامه وب که به این روش مستقر شده است را می‌توان به همان روشی که قبلاً بود، با استفاده از لینک [Undeploy] از فهرست برنامه‌های مستقر شده حذف کرد:

Image

در این حالت، فایل [exemple.xml] به طور خودکار از پوشه [<tomcat>\conf\Catalina\localhost] حذف می‌شود.

در نهایت، برای استقرار یک برنامه وب در تامکت، می‌توانید زمینه (context) آن را در فایل [<tomcat>\conf\server.xml] نیز تعریف کنید. در اینجا به جزئیات بیشتر این موضوع نمی‌پردازیم.

5.3.6. برنامه وب با یک صفحه اصلی

وقتی URL [http://localhost:8080/exemple/] را درخواست می‌کنیم، پاسخ زیر را دریافت می‌کنیم:

Image

در برخی نسخه‌های قدیمی‌تر تام‌کت، ما محتوای دایرکتوری فیزیکی برای برنامه [/exemple] را دریافت می‌کردیم.

می‌توانیم اطمینان حاصل کنیم که هنگام درخواست زمینه، یک صفحهٔ اصلی به اصطلاح نمایش داده می‌شود. برای این کار، یک فایل با نام [web.xml] ایجاد کرده و آن را در پوشه <example>\WEB-INF قرار می‌دهیم، که در آن <example> پوشه فیزیکی برنامه وب [/exemple] است. این فایل به شرح زیر است:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

  <display-name>Application Exemple</display-name>
  <description>Application web minimale</description>
    <welcome-file-list>
        <welcome-file>/exemple.html</welcome-file>
    </welcome-file-list>    
</web-app>
  • خطوط ۲–۵: تگ ریشه <web-app> با ویژگی‌های کپی و پیست‌شده از فایل [web.xml] از برنامه [/admin] در Tomcat (<tomcat>/server/webapps/admin/QZXW2HTMLP0038ZQX/web.xml).
  • خط ۷: نام نمایشی برنامه وب. این نامی است که آزادانه انتخاب می‌شود و محدودیت‌های کمتری نسبت به نام زمینه برنامه دارد. برای مثال، می‌تواند شامل فاصله‌ها باشد، که در نام زمینه امکان‌پذیر نیست. این نام، برای مثال، توسط مدیر Tomcat نمایش داده می‌شود:

Image

  1. خط ۸: توضیحات برنامه وب. این متن سپس می‌تواند به‌صورت برنامه‌ای بازیابی شود.
  2. خطوط ۹–۱۱: لیست فایل‌های خوش‌آمدگویی. تگ <welcome-file-list> برای تعریف لیست نماهایی که هنگام درخواست زمینهٔ برنامه توسط یک کلاینت ارائه می‌شوند، استفاده می‌شود. ممکن است چندین نما وجود داشته باشد. اولین مورد یافت‌شده به کلاینت ارائه می‌شود. در اینجا ما فقط یک مورد داریم: [/exemple.html]. بنابراین، هنگامی که کلاینتی URL [/exemple] را درخواست می‌کند، در واقع URL [/exemple/exemple.html] به او ارائه می‌شود.

بیایید این فایل، [web.xml]، را در <example>\WEB-INF ذخیره کنیم:

Image

اگر Tomcat هنوز در حال اجرا باشد، می‌توان با استفاده از لینک [Recharger] آن را مجبور به بارگذاری مجدد برنامه وب [/exemple] کرد:

Image

در طول این عملیات «بارگذاری مجدد»، تام‌کت فایل [web.xml] را که در داخل [<exemple>\WEB-INF] قرار دارد، مجدداً می‌خواند، در صورتی که وجود داشته باشد. در اینجا این مورد صدق می‌کند. اگر تام‌کت متوقف شده است، آن را مجدداً راه‌اندازی کنید.

با استفاده از یک مرورگر وب، بیایید فایل‌های URL و [http://localhost:8080/exemple/] را درخواست کنیم:

Image

مکانیزم فایل میزبان کار کرده است.

5.3.7. ادغام Tomcat در Eclipse

اکنون Tomcat را در Eclipse یکپارچه می‌کنیم. این یکپارچه‌سازی به شما امکان می‌دهد:

  • راه‌اندازی و متوقف‌سازی Tomcat از داخل Eclipse
  • برنامه‌های وب جاوا را توسعه دهید و آن‌ها را روی Tomcat اجرا کنید. یکپارچه‌سازی Eclipse/Tomcat به شما امکان می‌دهد اجرای برنامه را ردیابی (عیب‌یابی) کنید، از جمله اجرای کلاس‌های جاوا (سرولت‌ها) که توسط Tomcat اجرا می‌شوند.

بیایید اکلیپس را راه‌اندازی کنیم، سپس نمای [Servers] را باز کنیم:

  • در [1]: Window/Show View/Other
  • در [2]: نمای [Servers] را انتخاب کرده و به [OK] بروید
  • در [1]، یک نمای جدید [Servers] وجود دارد
  • به [2] بروید، روی نما کلیک راست کرده و «ایجاد سرور جدید» را برای ایجاد [New/Server] انتخاب کنید
  • در [3]، سرور [Tomcat 5.5] را انتخاب کنید، سپس به [Next] بروید
  • به [4] بروید و مسیر نصب Tomcat 5.5 را مشخص کنید
  • در [5]، مشخص کنید که در حال حاضر هیچ پروژه Eclipse/Tomcat وجود ندارد. سپس [Finish] را اجرا کنید

افزودن سرور شامل افزودن یک پوشه در کاوشگر پروژه اکلیپس [6] و ظاهر شدن یک سرور در نما [servers] [7] است:

نما [Servers] تمام سرورهای ثبت‌شده را نمایش می‌دهد؛ در این مورد، فقط سرور Tomcat 5.5 که ما همین حالا ثبت کرده‌ایم. کلیک راست روی آن دسترسی به دستورات راه‌اندازی، توقف و راه‌اندازی مجدد سرور را فراهم می‌کند:

Image

در بالا، ما سرور را راه‌اندازی می‌کنیم. با راه‌اندازی آن، تعدادی لاگ به نمای [Console] نوشته می‌شود:

1
2
3
4
5
6
7
8
16 mai 2007 09:51:57 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
...
16 mai 2007 09:51:57 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
...
INFO: Find registry server-registry.xml at classpath resource
16 mai 2007 09:51:58 org.apache.catalina.startup.Catalina start
INFO: Server startup in 828 ms

درک این لاگ‌ها کمی به عادت نیاز دارد. در حال حاضر به جزئیات آن‌ها نمی‌پردازیم. با این حال، مهم است که بررسی کنید که آن‌ها هیچ خطای بارگذاری زمینه را نشان نمی‌دهند. هنگام راه‌اندازی، سرور Tomcat/Eclipse تلاش می‌کند تا زمینه‌های (contexts) برنامه‌های تحت مدیریت خود را بارگذاری کند. بارگذاری زمینه یک برنامه شامل پردازش فایل [web.xml] آن و بارگذاری یک یا چند کلاس که آن را اولیه می‌کنند، می‌باشد. سپس چندین نوع خطا ممکن است رخ دهد:

  • فایل [web.xml] حاوی یک خطای نحوی است. این رایج‌ترین خطا است. توصیه می‌شود از ابزاری استفاده کنید که قادر به اعتبارسنجی یک سند XML در حین ساخت آن باشد.
  • کلاس‌های خاصی که باید بارگذاری شوند، پیدا نشدند. این کلاس‌ها در [WEB-INF/classes] و [WEB-INF/lib] جستجو می‌شوند. به طور کلی باید بررسی کنید که کلاس‌های لازم موجود هستند و املای کلاس‌هایی را که در فایل [web.xml] اعلام شده‌اند، تأیید کنید.

سروری که از Eclipse راه‌اندازی شده است، پیکربندی یکسانی با سرور نصب‌شده در بخش 5.3 ندارد. برای بررسی این موضوع، بیایید با استفاده از یک مرورگر وب، URL [http://localhost:8080] را درخواست کنیم:

Image

این پاسخ نشان‌دهنده عدم کارکرد سرور نیست، بلکه بیانگر این است که منبعی که از آن درخواست شده در دسترس نیست. با ادغام سرور Tomcat در Eclipse، این منابع، پروژه‌های وب خواهند بود. به این موضوع بعداً خواهیم پرداخت. فعلاً، بیایید Tomcat را متوقف کنیم:

Image

حالت عملیاتی قبلی را می‌توان تغییر داد. بیایید به نمای [Servers] بازگردیم و برای دسترسی به ویژگی‌های آن، روی سرور Tomcat دوبار کلیک کنیم:

1

کادر تیک [1] مسئول رفتار قبلی است. وقتی این تیک فعال باشد، برنامه‌های وب توسعه یافته در اکلیپس در فایل‌های پیکربندی سرور تامکت مربوطه تعریف نمی‌شوند، بلکه در فایل‌های پیکربندی جداگانه تعریف می‌شوند. در نتیجه، برنامه‌های تعریف‌شده به‌صورت پیش‌فرض در سرور Tomcat – [admin] و [manager]، که دو برنامهٔ مفید هستند – در دسترس نیستند. بنابراین، تیک [1] را برداشته و Tomcat را مجدداً راه‌اندازی می‌کنیم:

پس از انجام این کار، بیایید در یک مرورگر به URL [http://localhost:8080] دسترسی پیدا کنیم:

Image

این همان رویه‌ای است که در بخش 5.3.4 توضیح داده شده است.

در مثال‌های قبلی‌مان، از یک مرورگر خارج از اکلیپس استفاده کردیم. همچنین می‌توان از یک مرورگر درون اکلیپس استفاده کرد:

Image

در بالا، مرورگر داخلی را انتخاب کرده‌ایم. برای راه‌اندازی آن از داخل اکلیپس، می‌توانید از آیکون زیر استفاده کنید:

Image

مرزنی که در واقع اجرا می‌شود، همان مرزی است که توسط گزینه [Window -> Web Browser] انتخاب شده است. در اینجا، ما از مرورگر داخلی استفاده می‌کنیم:

1

Image

در صورت لزوم، بیایید Tomcat را از Eclipse راه‌اندازی کنیم و URL را در [http://localhost:8080] مشخص کنیم:

Image

بیایید لینک [Tomcat Manager] را دنبال کنیم:

Image

از ما جفت [login / mot de passe] مورد نیاز برای دسترسی به برنامه [manager] درخواست می‌شود. بر اساس پیکربندی Tomcat که قبلاً تنظیم کرده‌ایم، می‌توانیم [admin / admin] یا [manager / manager] را وارد کنیم. سپس فهرست برنامه‌های استقراریافته نمایش داده می‌شود:

Image

5.4. SGBD s Firebird

5.4.1. SGBD Firebird

SGBD Firebird در آدرس URL [http://www.firebirdsql.org/] در دسترس است:

  • در [1]: گزینه [Download.Firebird Relational Database] استفاده می‌شود
  • در [2]: نسخهٔ مورد نظر Firebird را مشخص کنید
  • در [3]: فایل باینری نصب را دانلود کنید

پس از دانلود فایل [3]، روی آن دوبار کلیک کنید تا SGBD Firebird را نصب کنید. SGBD در پوشه‌ای با محتویات مشابه موارد زیر نصب می‌شود:

Image

فایل‌های باینری در پوشه [bin] قرار دارند:

Image

fbguard.exe
امکان راه‌اندازی/متوقف‌سازی SGBD را برای شما فراهم می‌کند
isql.exe
یک کلاینت خط فرمان برای مدیریت پایگاه‌های داده

توجه داشته باشید که به‌طور پیش‌فرض، مدیر برای SGBD با نام [SYSDBA] و رمز عبور او [masterkey] است. منوها در [Démarrer] نصب شده‌اند:

Image

گزینه [Firebird Guardian] به شما امکان می‌دهد SGBD را راه‌اندازی/متوقف کنید. پس از راه‌اندازی، آیکون SGBD در نوار وظیفه ویندوز باقی می‌ماند:

برای ایجاد و مدیریت پایگاه‌های داده Firebird با استفاده از کلاینت خط فرمان [isql.exe]، باید مستندات ارائه‌شده همراه محصول را مطالعه کنید که از طریق میانبرهای Firebird در [Démarrer/Programmes/Firebird 2.0] قابل دسترسی است.

یک روش سریع برای کار با Firebird و یادگیری زبان SQL استفاده از یک کلاینت گرافیکی است. یکی از این کلاینت‌ها IB-Expert است که در پاراگراف بعدی توضیح داده شده است.

5.4.2. کار با Firebird SGBD با استفاده از IB- Expert

وب‌سایت اصلی IB-Expert به آدرس [http://www.ibexpert.com/] است.

  • در [1]، IBExpert را انتخاب کنید
  • در [2]، پس از انتخاب زبان دلخواه، در صورت لزوم گزینه دانلود را انتخاب کنید
  • در [3]، نسخه «شخصی» را انتخاب کنید زیرا رایگان است. با این حال، باید در وب‌سایت ثبت‌نام کنید.
  • برای [4]، IBExpert را دانلود کنید

IBExpert در پوشه‌ای مشابه موارد زیر نصب می‌شود:

Image

فایل اجرایی [ibexpert.exe] است. یک میانبر معمولاً در منوی [Démarrer] موجود است:

Image

پس از راه‌اندازی، IBExpert پنجره زیر را نمایش می‌دهد:

Image

بیایید از گزینه [Database/Create Database] to برای ایجاد یک پایگاه داده استفاده کنیم:

Image

Server
(Serveur)
می‌تواند [local] یا [remote] باشد. در اینجا، سرور ما روی همان دستگاهی است که [IBExpert] روی آن قرار دارد. ما انتخاب می‌کنیم
بنابراین [local] را انتخاب می‌کنیم
Database
(Base de données)
از دکمهٔ دارای برچسب [dossier] در منوی کشویی برای انتخاب فایل پایگاه داده استفاده کنید. فایربرد کل
پایگاه داده را در یک فایل واحد بارگذاری می‌کند. این یکی از نقاط قوت آن است.
شما می‌توانید پایگاه داده را به سادگی با کپی کردن فایل از یک کامپیوتر به کامپیوتر دیگر منتقل کنید.
پسوند [.fdb] به‌طور خودکار اضافه می‌شود.
Username
SYSDBA مدیر پیش‌فرض توزیع‌های فعلی Firebird است
Password
(Nom de l'utilisateur)
masterkey رمز عبور مدیر SYSDBA از
توزیع‌های فعلی Firebird
Dialect
گویش SQL برای استفاده
Register Database
(Référencer la base de données)
اگر تیک خورده باشد، IBExpert لینکی به پایگاه داده ایجادشده پس از ایجاد آن نمایش خواهد داد

اگر هنگام کلیک روی دکمهٔ ایجاد [OK]، هشدار زیر را مشاهده کردید:

Image

این بدان معناست که شما Firebird را راه‌اندازی نکرده‌اید. آن را راه‌اندازی کنید. یک پنجره جدید ظاهر خواهد شد:

Image

Charset
(Jeu de caractères)
مجموعه کاراکتری برای استفاده. ما توصیه می‌کنیم انتخاب کنید
[ISO-8859-1] را از لیست کشویی انتخاب کنید، زیرا این به شما امکان می‌دهد از حروف لاتین دارای علامت diakritik استفاده کنید.
Server version
(Version du serveur)
[IBExpert] قادر به مدیریت انواع مختلف SGBD مشتق‌شده از Interbase است.
نسخهٔ Firebird را که نصب کرده‌اید، انتخاب کنید.

پس از تأیید این پنجرهٔ جدید توسط [Register]، نتیجهٔ [1] در پنجرهٔ [Database Explorer] ظاهر می‌شود. این پنجره ممکن است به‌طور تصادفی بسته شود. برای نمایش مجدد آن، [2] را اجرا کنید:

برای دسترسی به پایگاه داده‌ای که ایجاد کرده‌اید، کافی است روی پیوند آن دوبار کلیک کنید. سپس IBExpert یک ساختار درختی نمایش می‌دهد که دسترسی به ویژگی‌های پایگاه داده را فراهم می‌کند:

Image

5.4.3. ایجاد یک جدول داده

بیایید یک جدول ایجاد کنیم. روی [Tables] (پنجره بالا را ببینید) کلیک راست کرده و گزینه [New Table] را انتخاب کنید. این کار پنجره تعریف ویژگی‌های جدول را باز می‌کند:

بیایید با استفاده از فیلد ورودی [1]، نام جدول را [ARTICLES] بگذاریم:

Image

بیایید از فیلد ورودی [2] برای تعریف یک کلید اصلی [ID] استفاده کنیم:

Image

یک فیلد با دوبار کلیک روی فیلد «Primary Key» در ناحیه [PK] به‌عنوان کلید اصلی تعریف می‌شود. بیایید با استفاده از دکمه بالای [3] فیلدها را اضافه کنیم:

Image

تا زمانی که تعریف خود را «کامپایل» نکنیم، جدول ایجاد نخواهد شد. بیایید از دکمه [Compile] در بالا برای نهایی کردن تعریف جدول استفاده کنیم. IBExpert پرس‌وجوهای SQL را برای ایجاد جدول آماده می‌کند و درخواست تأیید می‌کند:

Image

جالب اینجاست که IBExpert پرس‌وجوهایی را که اجرا کرده است، نمایش می‌دهد. این امکان را به شما می‌دهد تا هم زبان SQL و هم گویش SQL را که ممکن است اختصاصی باشد، بیاموزید. دکمه [Commit] برای تأیید تراکنش جاری استفاده می‌شود، در حالی که [Rollback] آن را لغو می‌کند. در اینجا، ما آن را با استفاده از [Commit] می‌پذیریم. پس از انجام این کار، IBExpert جدول ایجاد شده را به ساختار پایگاه داده ما اضافه می‌کند:

Image

با دوبار کلیک روی جدول، می‌توانید به ویژگی‌های آن دسترسی پیدا کنید:

Image

پنل [Constraints] به ما امکان می‌دهد محدودیت‌های یکپارچگی جدید را به جدول اضافه کنیم. بیایید آن را باز کنیم:

Image

می‌توانیم محدودیت کلید اصلی را که ایجاد کرده‌ایم ببینیم. می‌توانیم محدودیت‌های بیشتری اضافه کنیم:

  • کلیدهای خارجی [Foreign Keys]
  • محدودیت‌های یکپارچگی فیلد [Checks]
  • محدودیت‌های یکتایی فیلد [Uniques]

توجه کنید که:

  • میدان‌های [ID, PRIX, STOCKACTUEL, STOKMINIMUM] باید >0 باشند
  • میدان [NOM] باید خالی نبوده و یکتا باشد

پنل [Checks] را باز کنید و در ناحیه تعریف محدودیت آن کلیک راست کنید تا یک محدودیت جدید اضافه کنید:

Image

بیایید محدودیت‌های لازم را تعریف کنیم:

Image

توجه کنید که محدودیت [NOM<>''] به جای گیومهٔ دوبل از دو گیومهٔ تکی استفاده می‌کند. بیایید این محدودیت‌ها را با استفاده از دکمهٔ [Compile] در بالا کامپایل کنیم:

Image

بار دیگر، IBExpert با فهرست کردن پرس‌وجوهای SQL که اجرا کرده است، اطلاعات مفیدی ارائه می‌دهد. اکنون به پنل [Constraints/Uniques] برویم تا مشخص کنیم که نام باید منحصر به فرد باشد. این بدان معناست که یک نام یکسان نمی‌تواند دو بار در جدول ظاهر شود.

Image

بیایید محدودیت را تعریف کنیم:

Image

سپس آن را کامپایل کنیم. پس از انجام این کار، بیایید پنل [DDL] (زبان تعریف داده) را برای جدول [ARTICLES] باز کنیم:

Image

این کد تولید جدول SQL را همراه با تمام محدودیت‌های آن فراهم می‌کند. می‌توانیم این کد را در یک اسکریپت ذخیره کنیم تا بعداً بتوان آن را مجدداً اجرا کرد:

SET SQL DIALECT 3;
SET NAMES ISO8859_1;
CREATE TABLE ARTICLES (
    ID            INTEGER NOT NULL,
    NOM           VARCHAR(20) NOT NULL,
    PRIX          DOUBLE PRECISION NOT NULL,
    STOCKACTUEL   INTEGER NOT NULL,
    STOCKMINIMUM  INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);

5.4.4. وارد کردن داده به یک جدول

اکنون زمان وارد کردن داده‌ها به جدول [ARTICLES] است. برای این کار، بیایید از پنل آن [Data] استفاده کنیم:

Image

داده‌ها با دوبار کلیک روی فیلدهای ورودی برای هر سطر در جدول وارد می‌شوند. یک سطر جدید با استفاده از دکمه [+] اضافه می‌شود و یک سطر با استفاده از دکمه [-] حذف می‌شود. این عملیات‌ها در یک تراکنش انجام می‌شوند که با استفاده از دکمه [Commit Transaction] (به بالا مراجعه کنید) نهایی می‌شود. بدون این commit، داده‌ها از دست خواهند رفت.

5.4.5. ویرایشگر SQL از [IB-Expert]

زبان SQL (Structured Query Language) به کاربر اجازه می‌دهد:

  1. ایجاد جداول با مشخص کردن نوع داده‌هایی که در آن‌ها ذخیره خواهند شد و محدودیت‌هایی که این داده‌ها باید برآورده کنند
  2. وارد کردن داده‌ها به درون آن‌ها
  3. ویرایش برخی سوابق
  4. حذف سایر داده‌ها
  5. استخراج اطلاعات از داده‌ها
  6. ...

IBExpert به کاربر امکان می‌دهد عملیات ۱ تا ۴ را به‌صورت گرافیکی انجام دهد. ما همین حالا این را دیدیم. وقتی پایگاه داده شامل جداول متعددی باشد که هر کدام صدها سطر دارند، به اطلاعاتی نیاز داریم که به‌دست‌آوردن آن‌ها به‌صورت بصری دشوار است. فرض کنید، برای مثال، یک فروشگاه آنلاین در ماه هزاران مشتری دارد. تمام خریدها در یک پایگاه داده ثبت می‌شوند. پس از شش ماه، مشخص می‌شود که محصول «X» معیوب است. هدف این است که با همه کسانی که آن را خریده‌اند تماس گرفته شود تا بتوانند محصول را برای تعویض رایگان بازگردانند. چگونه می‌توان آدرس این مشتریان را پیدا کرد؟

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

زبان SQL هر زمان که

  • حجم داده‌ها در جداول زیاد است
  • جدول‌های زیادی به یکدیگر مرتبط هستند
  • اطلاعات مورد نیاز در چندین جدول پراکنده است
  • ...

اکنون ویرایشگر SQL از IBExpert را ارائه می‌کنیم. می‌توان از طریق گزینه [Tools/SQL Editor] یا [F12] به آن دسترسی داشت:

Image

این به ما دسترسی به یک ویرایشگر پرس‌وجوی پیشرفته SQL می‌دهد که می‌توانیم برای آزمایش پرس‌وجوها از آن استفاده کنیم. بیایید یک پرس‌وجو وارد کنیم:

Image

ما پرس‌وجو را با استفاده از دکمه [Execute] در بالا اجرا می‌کنیم. نتیجه زیر را به دست می‌آوریم:

Image

در بالا، زبانه [Results] جدول نتایج را برای دستور SQL [Select] نمایش می‌دهد. برای صدور فرمان جدید SQL، کافی است به برگه [Edit] بازگردید. سپس فرمان SQL را که اجرا شده است، مشاهده خواهید کرد.

Image

چند دکمه در نوار ابزار مفید هستند:

  • دکمه [New Query] به شما امکان می‌دهد به پرس‌وجوی جدید، SQL، سوئیچ کنید:

Image

این یک صفحه ویرایش خالی را باز می‌کند:

Image

سپس می‌توانید یک سفارش جدید وارد کنید SQL:

Image

و آن را اجرا کنید:

Image

بیایید به برگه [Edit] بازگردیم. دستورات مختلف صادرشده SQL توسط [IBExpert] ذخیره می‌شوند. دکمه [Previous Query] به شما امکان می‌دهد به یک فرمان SQL صادرشده قبلی بازگردید:

Image

سپس به پرس‌وجوی قبلی بازمی‌گردید:

Image

از سوی دیگر، دکمه [Next Query] شما را به دستور بعدی، SQL، می‌برد:

Image

سپس سفارش SQL را می‌یابیم که در فهرست سفارش‌های ذخیره‌شده SQL قرار دارد:

Image

دکمه [Delete Query] به شما امکان می‌دهد یک سفارش SQL را از لیست سفارش‌های ذخیره‌شده حذف کنید:

Image

دکمه [Clear Current Query] محتویات ویرایشگر را برای سفارش نمایش‌داده‌شده SQL پاک می‌کند:

Image

دکمه [Commit] به شما امکان می‌دهد تغییرات اعمال‌شده بر روی پایگاه داده را به‌طور دائم ذخیره کنید:

Image

دکمه [RollBack] به شما امکان می‌دهد تغییرات اعمال‌شده در پایگاه داده را از آخرین [Commit] لغو کنید. اگر از زمان اتصال به پایگاه داده هیچ [Commit] انجام نشده باشد، تغییرات انجام‌شده از آن اتصال لغو می‌شوند.

Image

بیایید یک مثال بزنیم. بیایید یک ردیف جدید به جدول اضافه کنیم:

Image

دستور SQL اجرا می‌شود اما هیچ چیزی نمایش داده نمی‌شود. مشخص نیست که آیا درج انجام شده است یا خیر. برای پی بردن به این موضوع، بیایید دستور SQL را پس از [New Query] اجرا کنیم:

Image

نتیجه زیر برای [Execute] به دست می‌آید:

Image

بنابراین سطر با موفقیت درج شد. اکنون بیایید محتوای جدول را به روشی دیگر بررسی کنیم. در کاوشگر پایگاه داده، روی جدول [ARTICLES] دوبار کلیک کنید:

Image

جدول زیر را مشاهده می‌کنیم:

Image

دکمه فلش بالا به شما امکان می‌دهد جدول را تازه‌سازی کنید. پس از تازه‌سازی، جدول بالا بدون تغییر باقی می‌ماند. به نظر می‌رسد که سطر جدید وارد نشده است. بیایید به ویرایشگر SQL (F12) بازگردیم و سپس با استفاده از دکمه [Commit]، سفارش SQL صادر شده را تأیید کنیم:

Image

پس از انجام این کار، بیایید به جدول [ARTICLES] بازگردیم. می‌بینیم که حتی با استفاده از دکمه [Refresh] نیز هیچ تغییری ایجاد نشده است:

Image

در بالا، برگه [Fields] را باز کرده و سپس به برگه [Data] بازگردیم. این بار، سطر وارد شده به درستی نمایش داده می‌شود:

Image

هنگامی که دستورات مختلف SQL صادر می‌شوند، ویرایشگر چیزی را که به آن «معامله» در پایگاه داده گفته می‌شود، باز می‌کند. تغییراتی که توسط این دستورات SQL از ویرایشگر SQL ایجاد می‌شوند، تنها زمانی قابل مشاهده خواهند بود که در همان ویرایشگر SQL باقی بمانید (می‌توانید چندین ویرایشگر را باز کنید). گویی ویرایشگر SQL نه روی پایگاه دادهٔ واقعی، بلکه روی یک نسخهٔ کپی از آن کار می‌کند. در واقع، این دقیقاً نحوهٔ کار آن نیست، اما این تشبیه می‌تواند به ما در درک مفهوم تراکنش کمک کند. هر تغییری که در طول یک تراکنش روی کپی ایجاد شود، تنها پس از اینکه توسط یک [Commit Transaction] تأیید (commit) شود، در پایگاه دادهٔ واقعی قابل مشاهده خواهد بود. سپس تراکنش جاری تکمیل شده و یک تراکنش جدید آغاز می‌شود.

تغییرات انجام‌شده در طول یک تراکنش را می‌توان با استفاده از دستوری به نام [Rollback] برگشت داد. بیایید آزمایش زیر را انجام دهیم. بیایید یک تراکنش جدید را آغاز کنیم (به‌سادگی [Commit] را روی تراکنش جاری اجرا کنید) با دستور زیر: SQL:

Image

بیایید این دستور را اجرا کنیم که تمام سطرها را از جدول [ARTICLES] حذف می‌کند، سپس [New Query] را اجرا کنیم، و در ادامه دستور جدید SQL را به شرح زیر اجرا کنیم:

Image

نتیجه زیر را به دست می‌آوریم:

Image

تمام سطرها حذف شده‌اند. به یاد داشته باشید که این کار بر روی یک کپی از جدول [ARTICLES] انجام شد. برای بررسی این موضوع، روی جدول [ARTICLES] در زیر دوبار کلیک کنید:

Image

و زبانه [Data] را مشاهده کنیم:

Image

حتی اگر از دکمه [Refresh] استفاده کنید یا به برگه [Fields] بروید و سپس به برگه [Data] بازگردید، محتوای بالا بدون تغییر باقی می‌ماند. این موضوع قبلاً توضیح داده شده است. ما در یک تراکنش متفاوت هستیم که روی نسخهٔ اختصاصی خود کار می‌کند. اکنون بیایید به ویرایشگر SQL (F12) بازگردیم و از دکمهٔ [RollBack] برای لغو حذف خطوط انجام‌شده استفاده کنیم:

Image

از ما خواسته می‌شود تأیید کنیم:

Image

بیایید تأیید کنیم. ویرایشگر SQL تأیید می‌کند که تغییرات برگشت داده شده‌اند:

Image

بیایید دوباره پرس‌وجوی SQL بالا را اجرا کنیم تا بررسی کنیم. می‌توانیم ردیف‌هایی را که حذف شده بودند ببینیم:

Image

عملیات [Rollback] نسخه کپی‌ای را که ویرایشگر SQL روی آن کار می‌کند، به حالتی که در ابتدای تراکنش بود بازگردانده است.

5.4.6. صادرات پایگاه داده Firebird به یک اسکریپت SQL

هنگام کار با فرآیندهای مختلف SGBD، همانطور که در آموزش «پایداری جاوا ۵ در عمل» اتفاق می‌افتد، مفید است که بتوان یک پایگاه داده را از یک SGBD 1 به یک اسکریپت SQL صادر کرد، و سپس دومی را به یک SGBD 2 وارد کرد. این کار از انجام تعدادی عملیات دستی جلوگیری می‌کند. با این حال، این کار همیشه ممکن نیست، زیرا فایل‌های SGBD اغلب دارای پسوندهای اختصاصی SQL هستند.

بیایید نشان دهیم چگونه پایگاه داده [dbarticles] قبلی را به یک اسکریپت SQL صادر کنیم:

  • به [1]: Tools / Extract MetaData، برای استخراج متادیتا
  • به [2]: برگهٔ اشیاء متا
  • در [3]: جدول [Articles] را که می‌خواهید ساختار (داده‌های متا) آن را استخراج کنید، انتخاب کنید
  • در [4]: برای انتقال شیء انتخاب‌شده از سمت چپ به سمت راست
  • در [5]: جدول [ARTICLES] در متادیتای استخراج‌شده گنجانده خواهد شد
  • در [6]: از زبانه [Table de données] برای انتخاب جداول مورد نظر برای استخراج محتوا استفاده می‌شود (در مرحله قبلی، ساختار جدول صادر شده بود)
  • در [7]: برای انتقال شیء انتخاب‌شده در سمت چپ به سمت راست
  • در [8]: نتیجهٔ حاصل
  • در [9]: زبانه [Options] به شما امکان می‌دهد تنظیمات استخراج خاصی را پیکربندی کنید
  • در [10]: گزینه‌های مربوط به تولید دستورات SQL که امکان اتصال به پایگاه داده را فراهم می‌کنند، از حالت انتخاب خارج کنید. این موارد مختص Firebird هستند و بنابراین برای ما اهمیتی ندارند.
  • در [11]: زبانه [Sortie] به شما امکان می‌دهد محل تولید اسکریپت را مشخص کنید SQL
  • در [12]: شما مشخص می‌کنید که اسکریپت باید در یک فایل تولید شود
  • در [13]: شما مکان این فایل را مشخص می‌کنید
  • در [14]: شما تولید اسکریپت SQL را آغاز می‌کنید

اسکریپت تولیدشده، پس از حذف توضیحات، به شرح زیر است:

SET SQL DIALECT 3;
SET NAMES ISO8859_1;

CREATE TABLE ARTICLES (
    ID            INTEGER NOT NULL,
    NOM           VARCHAR(20) NOT NULL,
    PRIX          DOUBLE PRECISION NOT NULL,
    STOCKACTUEL   INTEGER NOT NULL,
    STOCKMINIMUM  INTEGER NOT NULL
);

INSERT INTO ARTICLES (ID, NOM, PRIX, STOCKACTUEL, STOCKMINIMUM) VALUES (1, 'article1', 100, 10, 1);
INSERT INTO ARTICLES (ID, NOM, PRIX, STOCKACTUEL, STOCKMINIMUM) VALUES (2, 'article2', 200, 20, 2);
INSERT INTO ARTICLES (ID, NOM, PRIX, STOCKACTUEL, STOCKMINIMUM) VALUES (3, 'article3', 300, 30, 3);

COMMIT WORK;

ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);

توجه: خطوط ۱–۲ مختص Firebird هستند. برای تولید یک SQL عمومی، باید از اسکریپت تولیدشده حذف شوند.

5.4.7. JDBC فایربرد driver

یک برنامه جاوا از طریق یک درایور JDBC که مخصوص درایور SGBD مورد استفاده است، به داده‌های پایگاه داده دسترسی پیدا می‌کند:

در یک معماری چندلایه مانند مورد بالا، درایور JDBC [1] توسط لایه [dao] (ابژه دسترسی به داده) برای دسترسی به داده‌ها از یک پایگاه داده استفاده می‌شود.

راننده Firebird JDBC در URL‌ای که Firebird از آن دانلود شده است، در دسترس است:

  • برای [1]: درایور JDBC را برای دانلود انتخاب کنید
  • برای [2]: یک درایور JDBC که با JDK 1.5 سازگار است، انتخاب کنید
  • برای [3]: آرشیو حاوی درایور JDBC، [jaybird-full-2.1.1.jar] است. ما این فایل را استخراج خواهیم کرد. این فایل برای تمام مثال‌های مربوط به JPA با Firebird استفاده خواهد شد.

ما آن را در پوشه‌ای قرار می‌دهیم که از این پس آن را <jdbc> می‌نامیم:

Image

برای آزمایش این درایور JDBC، از Eclipse و افزونه SQL Explorer (بخش 5.2.6) استفاده خواهیم کرد. ابتدا درایور Firebird JDBC را اعلام می‌کنیم:

  • در [1]: به Window / Preferences بروید
  • به [2]: گزینه SQL Explorer / JDBC Drivers را انتخاب کنید
  • در [3]: درایور JDBC را برای Firebird انتخاب کنید
  • در [4]: به مرحله پیکربندی بروید
  • در [5]: به برگه [Extra Class Path] بروید
  • با [6]، فایل درایور JDBC را مشخص کنید. پس از انجام این کار، در [7] ظاهر می‌شود. در اینجا، درایوری را که قبلاً در پوشه <jdbc> قرار داده‌اید، انتخاب کنید
  • در [8]: نام کلاس جاوا برای درایور JDBC. این نام را می‌توان با استفاده از دکمه [8b] به دست آورد.
  • ما [OK] را برای اعتبارسنجی پیکربندی اجرا می‌کنیم
  • به [9]: درایور Firebird JDBC اکنون پیکربندی شده است. اکنون می‌توانید از آن استفاده کنید.
  • به [1]: یک چشم‌انداز جدید باز کنید
  • به [2]: دیدگاه [SQL Explorer] را انتخاب کنید
  • در [3]: یک اتصال جدید ایجاد کنید
  • در [4]: برای آن نامی انتخاب کنید
  • در [5]: درایور Firebird JDBC را از لیست کشویی انتخاب کنید
  • در [6]: URL پایگاه داده‌ای را که می‌خواهید به آن متصل شوید مشخص کنید، در این مورد: [jdbc:firebirdsql:localhost/3050:C:\data\2006-2007\eclipse\dvp-jpa\annexes\jpa\jpa.fdb]. [jpa.fdb] پایگاه داده‌ای است که قبلاً با IBExpert ایجاد شده است.
  • در [7]: نام کاربری برای اتصال، در این مورد [sysdba]، مدیر Firebird
  • در [8]: رمز عبور آن، [masterkey]
  • ما پیکربندی اتصال را با استفاده از [OK] اعتبارسنجی می‌کنیم
  • در [1]: روی نام اتصال مورد نظر برای باز کردن دوبار کلیک کنید
  • در [2]: وارد شوید (sysdba, masterkey)
  • در [3]: اتصال باز است
  • در [4]: ساختار پایگاه داده نمایش داده می‌شود. جدول [ARTICLES] قابل مشاهده است. آن را انتخاب کنید.
  • در [5]: در پنجره [Database Detail]، جزئیات شیء انتخاب‌شده در [4] را مشاهده می‌کنیم، که در این مورد جدول [ARTICLES] است.
  • در [6]: برگه [Columns] ساختار جدول را نشان می‌دهد
  • در [7]: برگه [Preview] ساختار جدول را نشان می‌دهد

پرس‌وجوها را می‌توان در پنجره [SQL Editor] اجرا کرد:

  • در [1]: یک اتصال باز را انتخاب کنید
  • در [2]: دستور SQL را که باید اجرا شود وارد کنید
  • در [3]: آن را اجرا کنید
  • در [4]: دستور اجرا شده را فراخوانی کنید
  • در [5]: نتیجهٔ آن

5.5. SGBD s MySQL5

5.5.1. نصب

SGBD MySQL5 در آدرس URL [http://dev.mysql.com/downloads/] در دسترس است:

  • در [1]: نسخهٔ مورد نظر را انتخاب کنید
  • در [2]: نسخه ویندوز را انتخاب کنید
  • به [3]: نسخهٔ مورد نظر ویندوز را انتخاب کنید
  • در [4]: فایل ZIP دانلود شده حاوی یک فایل اجرایی [Setup.exe] [4b] است که باید استخراج و اجرا شود تا MySQL5 نصب گردد
  • به عنوان [5]: نصب «معمولی» را انتخاب کنید
  • به [6]: پس از اتمام نصب، می‌توانید سرور را پیکربندی کنید MySQL5
  • در [7]: پیکربندی استاندارد را انتخاب کنید، همان که کمترین سؤال را می‌پرسد
  • در [8]: سرور MySQL5 یک سرویس ویندوز خواهد بود
  • در [9]: به طور پیش‌فرض، مدیر سرور 'root' است و رمز عبوری ندارد. شما می‌توانید این پیکربندی را حفظ کنید یا یک رمز عبور جدید برای 'root' تنظیم کنید. اگر نصب MySQL5 پس از حذف نسخه قبلی انجام شود، این عملیات ممکن است با شکست مواجه شود. راه‌های کمتری برای بازیابی از این وضعیت وجود دارد.
  • در [10]: از شما خواسته می‌شود تا سرور را پیکربندی کنید

نصب MySQL5 یک پوشه را در داخل [Démarrer / Programmes ] ایجاد می‌کند:

Image

می‌توانید از [MySQL Server Instance Config Wizard] برای پیکربندی مجدد سرور استفاده کنید:

  • به [3]: ما رمز عبور ریشه را (در اینجا root/root) تغییر می‌دهیم

5.5.2. شروع / توقف MySQL5

سرور MySQL5 به‌عنوان یک سرویس ویندوز نصب شده و برای راه‌اندازی خودکار تنظیم شده است، به‌طوری‌که c.a.d به‌محض راه‌اندازی ویندوز اجرا می‌شود. این حالت عملیاتی چندان کاربردی نیست. ما قصد داریم آن را تغییر دهیم:

[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:

  • به [1]: روی [Services] دوبار کلیک می‌کنیم
  • به [2]: می‌بینیم که سرویسی به نام [MySQL] وجود دارد، در حال اجرا است ([3]) و به طور خودکار شروع می‌شود ([4]).

برای تغییر این رفتار، روی سرویس [MySQL] دوبار کلیک می‌کنیم:

  • به [1]: سرویس را روی راه‌اندازی دستی تنظیم کنید
  • در [2]: سرویس را متوقف کنید
  • برای [3]: پیکربندی جدید سرویس را تأیید کنید

برای راه‌اندازی و متوقف کردن سرویس MySQL به‌صورت دستی، می‌توانید دو میانبر ایجاد کنید:

  • [1]: میانبر برای راه‌اندازی MySQL5
  • [2]: میانبر برای متوقف کردن آن

5.5.3. کلاینت‌های مدیریتی MySQL

در وب‌سایت MySQL می‌توانید کلاینت‌های مدیریتی برای SGBD را پیدا کنید:

  • برای [1]: [MySQL GUI Tools] را انتخاب کنید که شامل کلاینت‌های گرافیکی مختلفی است که به شما امکان می‌دهد یا SGBD را مدیریت کنید یا از آن استفاده کنید
  • برای [2]: نسخه مناسب ویندوز را انتخاب کنید
  • در [3]: یک فایل .msi دانلود کنید تا اجرا شود
  • به [4]: پس از اتمام نصب، میانبرهای جدید در پوشه [Menu Démarrer / Programmes / mySQL] ظاهر می‌شوند.

بیایید MySQL را (با استفاده از میانبرهایی که ایجاد کرده‌اید) اجرا کنیم، سپس [MySQL Administrator] را از طریق منوی بالا اجرا کنیم:

  • برای ورود به [1]: رمز عبور کاربر ریشه را وارد کنید (در این مورد root)
  • در [2]: اکنون وارد شده‌اید و می‌توانید ببینید که MySQL فعال است

5.5.4. ایجاد کاربر «jpa» و پایگاه داده «jpa»

این آموزش از MySQL5 با یک پایگاه داده به نام jpa و کاربری با همین نام استفاده می‌کند. اکنون آن‌ها را ایجاد خواهیم کرد. ابتدا کاربر:

  • در [1]: [User Administration] را انتخاب کنید
  • در [2]: در بخش [User accounts] کلیک راست کنید تا کاربر جدیدی ایجاد کنید
  • در [3]: نام کاربر jpa و رمز عبور او jpa است
  • در [4]: ایجاد را تأیید کنید
  • در [5]: کاربر [jpa] در پنجره [User Accounts] ظاهر می‌شود

اکنون پایگاه داده:

  • در [1]: گزینه [Catalogs] را انتخاب کنید
  • به [2]: روی پنجره [Schemata] کلیک راست کنید تا یک اسکیمای جدید (که به یک پایگاه داده اشاره دارد) ایجاد کنید
  • در [3]: به طرحوارهٔ جدید نام دهید
  • در [4]: در پنجره [Schemata] ظاهر می‌شود
  • در [5]: طرحواره [jpa] را انتخاب کنید
  • در [6]: اشیاء در اسکیمای [jpa]، از جمله جداول، نمایش داده می‌شوند. در حال حاضر هیچ‌کدام وجود ندارند. کلیک راست به شما امکان می‌دهد تا برخی را ایجاد کنید. این کار را به خواننده واگذار می‌کنیم.

بیایید به کاربر [jpa] بازگردیم تا به او حقوق کامل بر روی اسکیمای [jpa]: اعطا کنیم:

  • به [1]، سپس به [2]: کاربر [jpa] را انتخاب کنید
  • به [3]: برگه [Schema Privileges] را انتخاب کنید
  • در [4]: طرحواره [jpa] را انتخاب کنید
  • در [5]: به کاربر [jpa] امتیازات کامل روی طرحواره [jpa] اعطا کنید
  • به [6]: تغییرات انجام‌شده را تأیید می‌کنیم

برای بررسی اینکه کاربر [jpa] می‌تواند با طرحواره [jpa] کار کند، از حساب مدیر MySQL خارج می‌شویم. دوباره وارد می‌شویم، این بار با نام کاربری [jpa/jpa]:

  • به‌عنوان [1]: ورود (jpa/jpa)
  • به‌عنوان [2]: اتصال با موفقیت انجام شد و در [Schemata]، می‌توانیم اسکیماهایی را که برای آن‌ها مجوز داریم ببینیم. می‌توانیم اسکیمای [jpa] را ببینیم.

اکنون همان جدول [ARTICLES] را مانند Firebird SGBD، با استفاده از اسکریپت SQL [schema-articles.sql] که در بخش 5.4.6 تولید شده است، ایجاد خواهیم کرد.

  • برای [1]: از برنامه [MySQL Query Browser] استفاده کنید
  • برای [2]، [3]، [4]: وارد شوید (jpa / jpa / jpa)
  • برای [5]: اسکریپت SQL را برای اجرا باز کنید
  • در [6]: اسکریپت [schema-articles.sql] را که در بخش 5.4.6 ایجاد شده است، مشخص کنید.
  • در [7]: اسکریپت بارگذاری شده
  • در [8]: اجرا می‌شود
  • به [9]: جدول [ARTICLES] ایجاد شده است

5.5.5. رانر JDBC برای MySQL5

رانر JDBC از MySQL را می‌توان از همان محل SGBD دانلود کرد:

  • برای [1]: درایور مناسب JDBC را انتخاب کنید
  • برای [2]: نسخه مناسب ویندوز را انتخاب کنید
  • در [3]: در فایل زیپی که دانلود شده، آرشیو جاوا که درایور JDBC را در خود دارد، [mysql-connector-java-5.0.5-bin.jar] است. این فایل را استخراج کنید تا بتوان از آن در مثال‌های آموزش JPA استفاده کرد.

آن را به همان شیوه مورد قبلی (بخش 5.4.7) در پوشه <jdbc> قرار می‌دهیم:

برای آزمایش این درایور JDBC، از Eclipse و افزونه SQL Explorer استفاده خواهیم کرد. از خوانندگان دعوت می‌شود تا مراحل توضیح‌داده‌شده در بخش 5.4.7 را دنبال کنند. در ادامه چند اسکرین‌شات مرتبط ارائه شده است:

  • در [1]: آرشیو درایور JDBC از MySQL5 به نام جدیدی تغییر نام داده شده است
  • در [2]: درایور JDBC از MySQL5 در دسترس است
  • به [3]: تعریف اتصال (کاربر، رمز عبور)=(jpa, jpa)
  • در [4]: اتصال فعال است
  • [5]: پایه متصل

5.6. SGBD s PostgreSQL

5.6.1. نصب

SGBD PostgreSQL در آدرس URL [http://www.postgresql.org/download/] در دسترس است:

  • در [1]: سایت‌های دانلود برای PostgreSQL
  • برای [2]: نسخه ویندوز را انتخاب کنید
  • در [3]: نسخه‌ای با نصب‌کننده را انتخاب کنید
  • در [4]: محتویات فایل فشرده دانلود شده. روی فایل [postgresql-8.2.msi] دوبار کلیک کنید
  • در [5]: صفحه اول جادوگر نصب
  • به [6]: با قبول تنظیمات پیش‌فرض، نصب معمولی را انتخاب کنید
  • در [6b]: ایجاد حساب کاربری ویندوز که سرویس PostgreSQL را اجرا خواهد کرد؛ در این مورد، حساب کاربری «pgres» با رمز عبور «pgres».
  • در [7]: اجازه دهید PostgreSQL حساب [pgres] را ایجاد کند اگر از قبل وجود نداشته باشد
  • در [8]: حساب مدیر را برای SGBD تنظیم کنید، در اینجا 'postgres' با رمز عبور 'postgres'
  • در [9] و [10]: مقادیر پیش‌فرض را تا پایان جادوگر بپذیرید. PostgreSQL نصب خواهد شد.

نصب PostgreSQL یک پوشه در داخل [Démarrer / Programmes ] ایجاد می‌کند:

Image

5.6.2. راه‌اندازی / توقف PostgreSQL

سرور PostgreSQL به‌عنوان یک سرویس ویندوز نصب شده و برای راه‌اندازی خودکار تنظیم شده است، به‌طوری‌که c.a.d به‌محض راه‌اندازی ویندوز اجرا می‌شود. این روش عملیاتی چندان کاربردی نیست. ما قصد داریم آن را تغییر دهیم:

[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:

  • به [1]: روی [Services] دوبار کلیک می‌کنیم
  • به [2]: می‌بینیم که سرویسی به نام [PostgreSQL] وجود دارد، اینکه به عنوان [3] در حال اجرا است و اینکه به طور خودکار به عنوان [4] شروع می‌شود.

برای تغییر این رفتار، روی سرویس [PostgreSQL] دوبار کلیک می‌کنیم:

  • به [1]: سرویس را روی راه‌اندازی دستی تنظیم کنید
  • در [2]: سرویس را متوقف کنید
  • به [3]: پیکربندی جدید سرویس را تأیید کنید

برای راه‌اندازی و متوقف کردن دستی سرویس PostgreSQL می‌توانید از میانبرهای موجود در پوشه [PostgreSQL] استفاده کنید:

  • در [1]: میانبر برای راه‌اندازی PostgreSQL
  • برای [2]: میانبر برای متوقف کردن آن

5.6.3. مدیریت PostgreSQL

در تصویر بالا، برنامه [pgAdmin III] (۳) به شما امکان می‌دهد SGBD و PostgreSQL را مدیریت کنید. بیایید SGBD را اجرا کنیم، سپس [pgAdmin III] را از طریق منوی بالا:

  • برای [1]: روی سرور PostgreSQL دوبار کلیک کنید تا به آن متصل شوید
  • به [2,3]: با حساب کاربری مدیر SGBD وارد شوید، در این مورد (postgres / postgres)
  • روی [4]: تنها پایگاه داده موجود
  • در [5]: تنها کاربر موجود

5.6.4. ایجاد یک کاربر به نام jpa و یک پایگاه داده به نام jpa

این آموزش از PostgreSQL با یک پایگاه داده به نام jpa و یک کاربر با همین نام استفاده می‌کند. اکنون آن‌ها را ایجاد خواهیم کرد. ابتدا کاربر:

  • در [1]: ما یک نقش جدید (~user) ایجاد می‌کنیم
  • در [2]: کاربر jpa را ایجاد کنید
  • در [3]: رمز عبور آن jpa است
  • در [4]: رمز عبور تکرار می‌شود
  • در [5]: کاربر مجاز به ایجاد پایگاه‌های داده است
  • در [6]: کاربر [jpa] در میان نقش‌های ورود به سیستم ظاهر می‌شود

اکنون برای پایگاه داده:

  • در [1]: یک اتصال جدید به سرور ایجاد می‌شود
  • در [2]: jpa نام‌گذاری خواهد شد
  • در [3]: ماشینی که می‌خواهیم به آن متصل شویم
  • در [4]: کاربری که وارد می‌شود
  • در [5]: رمز عبور آنها. ما پیکربندی اتصال را با [OK] تأیید می‌کنیم
  • در [6]: اتصال جدید ایجاد شده است. این اتصال متعلق به کاربر jpa است. کاربر اکنون یک پایگاه داده جدید ایجاد خواهد کرد:
  • در [1]: یک پایگاه داده جدید اضافه شده است
  • در [2]: نام آن jpa است
  • در [3]: مالک آن کاربر jpa است که قبلاً ایجاد شده است. ما این را با [OK] تأیید می‌کنیم
  • در [4]: پایگاه داده jpa ایجاد شده است. یک کلیک ساده روی آن ما را به آن متصل می‌کند و ساختار آن را آشکار می‌سازد:
  • در [5]: اشیاء در شِمای [jpa]، از جمله جداول، ظاهر می‌شوند. در حال حاضر هیچ‌کدام وجود ندارند. کلیک راست به شما امکان می‌دهد تا برخی را ایجاد کنید. این کار را به خواننده واگذار می‌کنیم.

اکنون همان جدول [ARTICLES] را مانند جدول‌های قبلی SGBD، با استفاده از اسکریپت SQL [schema-articles.sql] که در بخش 5.4.6 تولید شده است، ایجاد خواهیم کرد.

  • به [1]: ویرایشگر SQL را باز کنید
  • به [2]: یک اسکریپت SQL را باز کنید
  • در [3]: اسکریپت [schema-articles.sql] را که در بند 5.4.6 ایجاد شده است، مشخص کنید.
  • به [4]: اسکریپت بارگذاری شده است. اکنون اجرا می‌شود.
  • به [5]: جدول [ARTICLES] ایجاد شده است.
  • در [6, 7]: محتوای آن

5.6.5. راننده JDBC برای PostgreSQL

راننده JDBC برای PostgreSQL در پوشه [jdbc] درون پوشه نصب برای PostgreSQL موجود است:

ما آرشیو JDBC را به همان شیوهٔ موارد قبلی (بخش 5.4.7) در پوشهٔ <jdbc> قرار می‌دهیم:

برای آزمایش این درایور JDBC، از Eclipse و افزونه SQL Explorer استفاده خواهیم کرد. از خواننده دعوت می‌شود تا رویه توضیح‌داده‌شده در بخش 5.4.7 را دنبال کند. چند اسکرین‌شات مرتبط ارائه می‌دهیم:

  • در [1]: آرشیو درایور JDBC با نام PostgreSQL مشخص شده است
  • در [2]: درایور JDBC از PostgreSQL در دسترس است
  • به [3]: تعریف اتصال (کاربر، رمز عبور)=(jpa, jpa)
  • در [4]: اتصال فعال است
  • در [5]: پایگاه داده متصل است
  • در [6]: محتویات جدول [ARTICLES]

5.7. SGBD s اوریکل 10g اکسپرس

5.7.1. نصب

Oracle 10g Express SGBD در آدرس URL [http://www.oracle.com/technology/software/products/database/xe/index.html] در دسترس است:

  • در [1]: سایت دانلود Oracle 10g Express
  • در [2]: نسخه ویندوز را انتخاب کنید. پس از دانلود فایل، آن را اجرا کنید:
  • در [1]: روی فایل [OracleXE.exe] دوبار کلیک کنید
  • برای [2]: صفحه اول جادوگر نصب
  • به [3]: شرایط مجوز را بپذیرید
  • به [4]: تنظیمات پیش‌فرض را بپذیرید.
  • در [5,6]: کاربر SYSTEM رمز عبور 'system' خواهد داشت.
  • در [7]: نصب آغاز می‌شود

نصب Oracle 10g Express یک پوشه در [Démarrer / Programmes ] ایجاد می‌کند:

Image

5.7.2. راه‌اندازی / متوقف‌سازی Oracle 10g

همانند ورودی‌های قبلی SGBD، Oracle 10g به عنوان یک سرویس ویندوز نصب شده است که به طور خودکار شروع می‌شود. ما این پیکربندی را تغییر می‌دهیم:

[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:

  • به [1]: ما روی [Services] دوبار کلیک می‌کنیم
  • به [2]: می‌توانیم ببینیم که سرویسی به نام [OracleServiceXE] وجود دارد، در حال اجرا است ([3]) و به صورت خودکار شروع می‌شود ([4]).
  • در [5]: سرویس دیگری از Oracle به نام «Listener» نیز فعال است و برای راه‌اندازی خودکار تنظیم شده است.

برای تغییر این رفتار، روی سرویس [OracleServiceXE] دوبار کلیک می‌کنیم:

  • به [1]: سرویس را روی شروع دستی تنظیم کنید
  • برای [2]: سرویس را متوقف کنید
  • برای [3]: پیکربندی جدید سرویس را تأیید کنید

همان رویه برای سرویس [OracleXETNSListener] نیز اعمال می‌شود (به [5] بالا مراجعه کنید). برای شروع و متوقف کردن دستی سرویس OracleServiceXE می‌توانید از میانبرهای موجود در پوشه [Oracle] استفاده کنید:

  • در [1]: برای راه‌اندازی SGBD
  • به [2]: برای متوقف کردن آن
  • به [3]: برای مدیریت آن (که در صورتی که در حال اجرا نباشد، آن را راه‌اندازی می‌کند)

5.7.3. ایجاد یک کاربر jpa و یک پایگاه داده jpa

در تصویر بالا، از برنامه [3] برای مدیریت نمونه Oracle 10g Express SGBD استفاده می‌شود. بیایید SGBD و [1] را راه‌اندازی کنیم، سپس اپلیکیشن مدیریت [3] را از طریق منوی بالا اجرا کنیم:

  • در [1]: با حساب کاربری مدیر SGBD وارد شوید، در این مورد (system / system)
  • در [2]: یک کاربر جدید ایجاد کنید
  • در [4]: نام کاربری
  • در [5, 6]: رمز عبور آنها، در این مورد jpa
  • در [7]: کاربر jpa ایجاد شده است

در Oracle، یک کاربر به‌طور خودکار با پایگاه‌دادهٔ هم‌نام مرتبط می‌شود. بنابراین پایگاه‌دادهٔ «jpa» هم‌زمان با کاربر «jpa» ایجاد می‌شود.

5.7.4. ایجاد جدول [ARTICLES] در پایگاه داده jpa

OracleXE با یک کلاینت SQL که در حالت خط فرمان اجرا می‌شد، نصب شد. کار با توسعه‌دهنده SQL که آن هم توسط Oracle ارائه شده، راحت‌تر است. آن را می‌توانید در وب‌سایت زیر بیابید:

[http://www.oracle.com/technology/products/database/sql_developer/index.html]

  • برای [1]: سایت دانلود
  • برای [2]: اگر JRE از قبل نصب شده باشد (همانطور که در اینجا اینطور است)، یک نسخه ویندوز بدون JRE را انتخاب کنید، زیرا [SQL Developer] یک برنامه جاوا است.
  • در [3]: فایل دانلود شده را از حالت فشرده خارج کنید
  • برای [4]: فایل اجرایی [sqldeveloper.exe] را اجرا کنید
  • در [5]: هنگام راه‌اندازی [SQL Developer] برای اولین بار، مسیر JRE نصب‌شده روی سیستم را مشخص کنید
  • در [5b]: یک اتصال جدید ایجاد کنید
  • در [6]: SQL Developer به شما امکان می‌دهد به انواع SGBD متصل شوید. Oracle را انتخاب کنید.
  • در [7]: نامی که به اتصال در حال ایجاد شما داده می‌شود
  • در [8]: مالک اتصال
  • در [9]: رمز عبور آنها (jpa)
  • در [10]: مقادیر پیش‌فرض را حفظ کنید
  • در [11]: برای آزمایش اتصال (Oracle باید در حال اجرا باشد)
  • در [12]: برای تکمیل پیکربندی اتصال
  • در [13]: اشیاء در پایگاه داده jpa
  • در [14]: می‌توان جدول‌ها را ایجاد کرد. همانند موارد قبلی، ما جدول [ARTICLES] را با استفاده از اسکریپت ایجادشده در بخش 5.4.6 ایجاد خواهیم کرد.
  • در [15]: ما یک اسکریپت SQL را باز می‌کنیم
  • به [16]: اسکریپت SQL ایجادشده در بخش 5.4.6 را مشخص کنید.
  • در [17]: اسکریپتی که باید اجرا شود
  • در [18]: نتیجه اجرای برنامه: جدول [ARTICLES] ایجاد شده است. برای دسترسی به ویژگی‌های آن، روی آن دوبار کلیک کنید.
  • [19]: محتویات جدول.

5.7.5. راننده JDBC برای OracleXE

راننده JDBC برای OracleXE در پوشه [jdbc/lib] درون پوشه نصب برای OracleXE [1] موجود است:

ما آرشیو JDBC [ojdbc14.jar] را به همان شیوه موارد قبلی (بخش 5.4.7) در پوشه <jdbc> [2] قرار می‌دهیم:

برای آزمایش این درایور JDBC، از Eclipse و افزونه SQL Explorer استفاده خواهیم کرد. از خوانندگان دعوت می‌شود تا مراحل توضیح‌داده‌شده در بخش 5.4.7 را دنبال کنند. در ادامه چند اسکرین‌شات مرتبط ارائه می‌شود:

  • در [1]: آرشیو درایور JDBC با نام OracleXE مشخص شده است
  • در [2]: درایور JDBC از OracleXE در دسترس است
  • به [3]: تعریف اتصال (کاربر، رمز عبور)=(jpa, jpa)
  • در [4]: اتصال فعال است
  • در [5]: پایگاه داده متصل است
  • در [6]: محتویات جدول [ARTICLES]

5.8. SGBD s SQL Server Express 2005

5.8.1. نصب

سرور اکسپرس ۲۰۰۵ SGBD SQL در آدرس URL [http://msdn.microsoft.com/vstudio/express/sql/download/] در دسترس است:

  • در [1]: ابتدا پلتفرم .NET نسخه 2.0 را دانلود و نصب کنید
  • در [2]: سپس SQL Server Express 2005 را نصب و دانلود کنید
  • در [3]: سپس SQL Server Management Studio Express را نصب و دانلود کنید، که به شما امکان می‌دهد SQL Server را مدیریت کنید

نصب SQL Server Express یک پوشه را در [Démarrer / Programmes ] ایجاد می‌کند:

  • در [1]: برنامه پیکربندی برای سرور SQL. همچنین به شما امکان راه‌اندازی و متوقف کردن سرور را می‌دهد
  • در [2]: برنامه مدیریت سرور

5.8.2. راه‌اندازی / توقف سرور SQL

مانند نمونه‌های قبلی SGBD، سرور SQL Express به‌عنوان یک سرویس ویندوز نصب شده است که برای راه‌اندازی خودکار تنظیم شده است. ما این پیکربندی را تغییر می‌دهیم:

[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:

  • به [1]: روی [Services] دوبار کلیک می‌کنیم
  • در [2]: می‌توانیم ببینیم که سرویسی به نام [SQL Server] وجود دارد، که راه‌اندازی شده است ([3]) و به طور خودکار شروع می‌شود ([4]).
  • در [5]: سرویس دیگری که به سرور SQL متصل است و «SQL Server Browser» نام دارد، نیز فعال است و برای شروع خودکار تنظیم شده است.

برای تغییر این رفتار، روی سرویس [SQL Server] دوبار کلیک می‌کنیم:

  • به [1]: سرویس را روی شروع دستی تنظیم کنید
  • برای [2]: سرویس را متوقف کنید
  • برای [3]: پیکربندی جدید سرویس را تأیید کنید

همان رویه برای سرویس [SQL Server Browser] نیز اعمال می‌شود (به [5] بالا مراجعه کنید). برای شروع و توقف دستی سرویس سرور SQL، می‌توانید از برنامه [1] موجود در پوشه [SQL server] استفاده کنید:

  • در [1]: اطمینان حاصل کنید که پروتکل TCP/IP فعال است، سپس به ویژگی‌های پروتکل بروید.
  • در [2]: در برگه [IP Addresses]، گزینه [IPAll]:
    • میدان [TCP Dynamic ports] خالی گذاشته می‌شود
    • پورت گوش‌دادن سرور در [TCP Port] روی 1433 تنظیم شده است
  • در [3]: کلیک راست روی سرویس [SQL Server] دسترسی به گزینه‌های شروع/توقف سرور را فراهم می‌کند. در اینجا، آن را راه‌اندازی می‌کنیم.
  • در [4]: سرویس SQL در حال اجرا است

5.8.3. ایجاد یک کاربر jpa و یک پایگاه داده jpa

بیایید SGBD را همانطور که در بالا نشان داده شده است راه‌اندازی کنیم، سپس برنامه مدیریت [1] را از طریق منوی زیر اجرا کنیم:

  • در [1]: به عنوان مدیر ویندوز به سرور SQL وارد شوید
  • در [2]: ویژگی‌های اتصال را پیکربندی کنید
  • در [3]: حالت ورود ترکیبی را برای سرور فعال کنید: یا با ورود ویندوز (یک کاربر ویندوز) یا با ورود به سرور SQL (یک حساب کاربری تعریف‌شده در سرور SQL، مستقل از هر حساب ویندوز).
  • در [3b]: یک کاربر سرور SQL ایجاد می‌شود
  • در [4]: گزینه [General]
  • در [5]: نام کاربری
  • در [6]: رمز عبور (jpa اینجا)
  • در [7]: گزینه [Server Roles]
  • در [8]: کاربر 'jpa' اجازه ایجاد پایگاه‌های داده را خواهد داشت

این پیکربندی را تأیید کنید:

  • در [9]: کاربر 'jpa' ایجاد شده است
  • در [10]: ما از سیستم خارج می‌شویم
  • در [11]: دوباره وارد می‌شویم
  • در [12]: ورود به سیستم با کاربری jpa/jpa
  • در [13]: پس از ورود، کاربر jpa یک پایگاه داده ایجاد می‌کند
  • در [14]: پایگاه داده jpa نام‌گذاری خواهد شد
  • در [15]: و متعلق به کاربر jpa خواهد بود
  • در [16]: پایگاه داده jpa ایجاد شده است

5.8.4. ایجاد جدول [ARTICLES] در پایگاه داده jpa

همانند مثال‌های قبلی، جدول [ARTICLES] را با استفاده از اسکریپت ایجادشده در بخش 5.4.6 ایجاد خواهیم کرد.

  • در [1]: یک اسکریپت SQL را باز می‌کنیم
  • به [2]: اسکریپت SQL ایجادشده در بخش 5.4.6، صفحه 240 را مشخص کنید.
  • در [3]: باید دوباره وارد شوید (jpa/jpa)
  • در [4]: اسکریپتی که باید اجرا شود
  • در [5]: پایگاه داده را که اسکریپت باید در آن اجرا شود، انتخاب کنید
  • در [6]: آن را اجرا کنید
  • در [7]: نتیجه اجرای آن: جدول [ARTICLES] ایجاد شده است.
  • در [8]: ما درخواست مشاهدهٔ محتویات آن را داریم
  • در [9]: محتویات جدول.

5.8.5. راننده JDBC برای سرور اکسپرس SQL

  • در [1]: یک جستجوی گوگل با استفاده از متن [Microsoft SQL Server 2005 JDBC Driver] ما را به صفحه دانلود درایور JDBC می‌برد. ما جدیدترین نسخه را انتخاب می‌کنیم
  • [2]: فایل دانلودشده. روی آن دوبار کلیک می‌کنیم. فایل استخراج می‌شود و پوشه‌ای حاوی درایور JDBC [3] ایجاد می‌کند
  • [4]: آرشیو JDBC [sqljdbc.jar] را، مانند موارد قبلی (بخش 5.4.7)، در پوشه <jdbc> قرار دهید.

برای آزمایش این درایور JDBC، از Eclipse و افزونه SQL Explorer استفاده خواهیم کرد. از خوانندگان دعوت می‌شود تا رویه توضیح‌داده‌شده در بخش 5.4.7 را دنبال کنند. چند تصویر صفحه مرتبط ارائه می‌دهیم:

  • در [1]: آرشیو درایور JDBC از سرور SQL تعیین شده است
  • در [2]: درایور JDBC از سرور SQL در دسترس است
  • به [3]: جزئیات اتصال (کاربر، رمز عبور) = (jpa, jpa)
  • در [4]: اتصال فعال است
  • در [5]: پایگاه داده متصل شد
  • در [6]: محتویات جدول [ARTICLES]

5.9. SGBD s HSQLDB

5.9.1. نصب

SGBD HSQLDB در URL [http://sourceforge.net/projects/hsqldb] در دسترس است. این یک SGBD نوشته شده به زبان جاوا است، بسیار سبک در مصرف حافظه، که به جای دیسک، پایگاه‌های داده را در حافظه مدیریت می‌کند. نتیجه، اجرای فوق‌العاده سریع پرس‌وجوها است. این مزیت اصلی آن است. پایگاه‌های داده که به این روش در حافظه ایجاد می‌شوند، می‌توانند هنگام خاموش و سپس راه‌اندازی مجدد سرور بازیابی شوند. این امر به این دلیل است که دستورات SQL صادر شده برای ایجاد پایگاه‌های داده در یک فایل گزارش (log file) ذخیره می‌شوند تا در بار بعدی راه‌اندازی سرور مجدداً اجرا شوند. این کار تضمین می‌کند که پایگاه‌های داده در طول زمان پایدار بمانند.

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

  • در [1]: سایت دانلود
  • به [2]: دانلود آخرین نسخه
  • در [3]: فایل ZIP دانلود شده را از حالت فشرده خارج کنید
  • در [4]: پوشه [hsqldb] حاصل از استخراج
  • به [5]: پوشه [demo]، که حاوی اسکریپت راه‌اندازی سرورهای [hsql] و [6] است، و اسکریپت [7]، که یک ابزار مدیریت سرور پایه را راه‌اندازی می‌کند.

5.9.2. راه‌اندازی / توقف HSQLDB

برای راه‌اندازی سرور HSQLDB، روی برنامه [runManager.bat] یا [6] که در بالا نشان داده شده است، دوبار کلیک کنید:

  • در [1]: می‌توانید ببینید که برای متوقف کردن سرور، کافی است در پنجره کلید Ctrl-C را فشار دهید.

5.9.3. پایگاه داده [test]

پایگاه دادهٔ پیش‌فرض در پوشهٔ [data] قرار دارد:

  • در [1]: هنگام راه‌اندازی، SGBD HSQL اسکریپتی به نام [test.script] را اجرا می‌کند
1
2
3
4
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 10
  • خط ۱: یک اسکیما با نام [public] ایجاد می‌شود
  • خط ۲: کاربری به نام [sa] با رمز عبور خالی ایجاد می‌شود
  • خط ۳: کاربر [sa] دارای حقوق مدیریتی شد

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

5.9.4. رانر JDBC برای HSQL

راننده JDBC برای SGBD HSQL در پوشه [lib] قرار دارد:

  • در [1]: آرشیو [hsqldb.jar] شامل درایور JDBC برای SGBD و HSQL است
  • در [2]: این آرشیو را، مانند موارد قبلی (بخش 5.4.7)، در پوشه <jdbc> قرار می‌دهیم

برای آزمایش این درایور JDBC، از Eclipse و افزونه SQL Explorer استفاده خواهیم کرد. از خوانندگان دعوت می‌شود تا مراحل توضیح‌داده‌شده در بخش 5.4.7 را دنبال کنند. چند اسکرین‌شات مرتبط ارائه می‌دهیم:

  • در [1]: [window / preferences / SQL Explorer / JDBC Drivers]
  • در [2]: سرور در [HSQLDB] پیکربندی شده است
  • در [3]: آرشیو [hsqldb.jar] حاوی درایور JDBC را مشخص کنید
  • در [4]: نام کلاس جاوا برای درایور JDBC
  • در [5]: درایور JDBC پیکربندی شده است

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

  • در [6]: یک اتصال جدید ایجاد کنید
  • در [7]: برای آن نامی انتخاب کنید
  • در [8]: می‌خواهیم به سرور HSQLDB متصل شویم
  • در [9]: URL پایگاه داده‌ای که می‌خواهیم به آن متصل شویم. این همان پایگاه داده [test] است که قبلاً مشاهده شد.
  • در [10]: ما با نام کاربری [sa] وارد می‌شویم. ما دیده‌ایم که آنها مدیر SGBD هستند.
  • در [11]: کاربر [sa] رمز عبور ندارد.

ما تنظیمات اتصال را تأیید می‌کنیم.

  • در [12]: ما وارد می‌شویم
  • به [13]: احراز هویت در حال انجام
  • در [14]: متصل شد
  • در [15]: اسکیمای [PUBLIC] هنوز جدول ندارد
  • در [16]: جدول [ARTICLES] از اسکریپت [schema-articles.sql] که در بخش 5.4.6 ایجاد شده است، ساخته شده است.
  • در [17]: اسکریپت را انتخاب کنید
  • در [18]: اسکریپت قابل اجرا
  • [19]: این پس از حذف تمام نظرات اجرا می‌شود، زیرا HSQLB آن‌ها را قبول ندارد.
  • پس از اجرای اسکریپت، نمای پایگاه داده را با استفاده از [20] تازه کنید
  • در [21]: جدول [ARTICLES] واقعاً موجود است
  • در [22]: محتویات آن

بیایید سرور HSQLDB را متوقف و سپس مجدداً راه‌اندازی کنیم. پس از انجام این کار، بیایید فایل [test.script] را بررسی کنیم:

1
2
3
4
5
6
7
8
9
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE MEMORY TABLE ARTICLES(ID INTEGER NOT NULL,NOM VARCHAR(20) NOT NULL,PRIX DOUBLE NOT NULL,STOCKACTUEL INTEGER NOT NULL,STOCKMINIMUM INTEGER NOT NULL,CONSTRAINT PK_ARTICLES PRIMARY KEY(ID),CONSTRAINT CHK_ID CHECK(ARTICLES.ID>0),CONSTRAINT CHK_PRIX CHECK(ARTICLES.PRIX>0),CONSTRAINT CHK_STOCKACTUEL CHECK(ARTICLES.STOCKACTUEL>0),CONSTRAINT CHK_STOCKMINIMUM CHECK(ARTICLES.STOCKMINIMUM>0),CONSTRAINT CHK_NOM CHECK(ARTICLES.NOM!=''),CONSTRAINT UNQ_NOM UNIQUE(NOM))
CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 10
SET SCHEMA PUBLIC
INSERT INTO ARTICLES VALUES(1,'article1',100.0E0,10,1)
INSERT INTO ARTICLES VALUES(2,'article2',200.0E0,20,2)
INSERT INTO ARTICLES VALUES(3,'article3',300.0E0,30,3)

می‌توانیم ببینیم که SGBD دستورات مختلف SQL را که در جلسه قبلی اجرا شده‌اند ذخیره کرده و هنگام شروع جلسه جدید، آنها را مجدداً اجرا می‌کند. همچنین می‌توانیم ببینیم (خط ۲) که جدول [ARTICLES] در حافظه (MEMORY) ایجاد شده است. در ابتدای هر جلسه، دستورات صادر شده SQL در [test.log] ذخیره می‌شوند تا در ابتدای جلسه بعدی به [test.script] کپی شده و در ابتدای آن جلسه مجدداً اجرا شوند.

5.10. SGBD آپاچی Derby

5.10.1. نصب

Apache Derby SGBD در آدرس URL [http://db.apache.org/derby/] در دسترس است. این یک SGBD است که آن نیز به زبان جاوا نوشته شده و به همان اندازه کم‌حافظه است. این نرم‌افزار مزایای مشابهی با HSQLDB ارائه می‌دهد. این نیز می‌تواند در برنامه‌های جاوا، c.a.d، تعبیه شود، بخشی جدایی‌ناپذیر از برنامه را تشکیل دهد و در همان JVM اجرا شود.

  • در [1]: سایت دانلود
  • در [2,3]: آخرین نسخه را دانلود کنید
  • در [3]: فایل ZIP دانلود شده را از حالت فشرده خارج کنید
  • در [4]: پوشه [db-derby-*-bin] حاصل از استخراج
  • به [5]: پوشه [bin]، که حاوی اسکریپت برای راه‌اندازی سرور [db derby] و [6] است، و در [7]، اسکریپت برای متوقف کردن آن.

5.10.2. راه‌اندازی / متوقف‌سازی Apache Derby (پایگاه داده Derby)

برای راه‌اندازی سرور Db Derby، روی برنامه [startNetworkServer] یا [6] که در بالا نشان داده شده است، دوبار کلیک کنید:

  • در [1]: سرور راه‌اندازی شده است. می‌توان آن را با استفاده از برنامه [stopNetworkServer] [7] که در بالا نشان داده شده است، متوقف کرد.

5.10.3. رانر JDBC برای Derby DB

درایور JDBC دیتابیس Derby SGBD در پوشه [lib] داخل دایرکتوری نصب قرار دارد:

  • در [1]: آرشیو [derbyclient.jar] شامل درایور JDBC برای SGBD Db Derby است
  • به [2]: این آرشیو را، مانند موارد قبلی (بخش 5.4.7)، در پوشه <jdbc> قرار می‌دهیم

برای آزمایش این درایور JDBC، از Eclipse و افزونه SQL Explorer استفاده خواهیم کرد. از خوانندگان دعوت می‌شود تا مراحل توضیح‌داده‌شده در بخش 5.4.7 را دنبال کنند. چند اسکرین‌شات مرتبط ارائه می‌دهیم:

  • در [1]: [window / preferences / SQL Explorer / JDBC Drivers]
  • در [2]: درایور JDBC آپاچی دربی در لیست نیست. ما آن را اضافه می‌کنیم.
  • در [3]: ما به درایور جدید یک نام می‌دهیم
  • در [4]: قالب URLهای پشتیبانی‌شده توسط درایور JDBC را مشخص کنید
  • در [5]: فایل .jar را برای درایور JDBC مشخص می‌کنیم
  • در [5b]: نام کلاس جاوا درایور JDBC
  • در [5c]: درایور JDBC پیکربندی می‌شود

پس از انجام این کار، به سرور Apache Derby متصل می‌شویم. ما این سرور را از قبل راه‌اندازی کرده‌ایم.

  • در [6]: یک اتصال جدید ایجاد کنید
  • در [7]: به آن نام می‌دهیم
  • در [8]: می‌خواهیم به سرور Apache Derby متصل شویم
  • در [9]: URL پایگاه داده‌ای که می‌خواهید به آن متصل شوید. پس از پیشوند استاندارد [jdbc:derby://localhost:1527]، مسیر یک پوشه روی دیسک را که حاوی یک پایگاه داده Derby است وارد کنید. گزینه [create=true] به شما امکان می‌دهد این پوشه را در صورت عدم وجود ایجاد کنید.
  • در [10,11]: شما با کاربری [jpa/jpa] متصل می‌شوید. من این موضوع را به طور دقیق بررسی نکرده‌ام، اما به نظر می‌رسد می‌توانید هر نام کاربری و رمز عبوری را که می‌خواهید وارد کنید. در اینجا، اگر create=true باشد، مالک پایگاه داده را مشخص می‌کنید.

پیکربندی اتصال را اعتبارسنجی کنید.

  • در [12]: ورود
  • در [13]: ما احراز هویت می‌کنیم (jpa/jpa)
  • در [14]: ما وارد شده‌ایم
  • در [15]: طرحواره [jpa] هنوز ظاهر نشده است.
  • در [16]: ما قصد داریم جدول [ARTICLES] را از اسکریپت [schema-articles.sql] که در بخش 5.4.6 ایجاد شده است، بسازیم.
  • در [17]: اسکریپت را انتخاب کنید
  • در [18]: اسکریپت قابل اجرا
  • در [19]: پس از حذف تمام نظرات، آن را اجرا کنید، زیرا Apache Derby، مانند HSQLB، آن‌ها را نمی‌پذیرد.
  • پس از اتمام اجرای اسکریپت، نمایش پایگاه داده را در [20] تازه کنید
  • در [21]: اسکیمای [jpa] و جدول [ARTICLES] در واقع موجود هستند
  • در [22]: محتویات جدول [ARTICLES]
  • در [23]: محتویات پوشه [derby\jpa] که در آن پایگاه داده ایجاد شده است.

5.11. چارچوب Spring 2

چارچوب Spring 2 در آدرس اینترنتی [http://www.springframework.org/download] در دسترس است:

  • در [1]: آخرین نسخه را دانلود کنید
  • در [2] نسخهٔ معروف به «with dependencies» را دانلود کنید، زیرا شامل فایل‌های .jar ابزارهای شخص ثالثی است که Spring با آن‌ها یکپارچه می‌شود و همیشه به آن‌ها نیاز دارید.
  • [3]: آرشیو دانلودشده را از حالت فشرده خارج کنید
  • در [4]: پوشه نصب Spring 2.1
  • در [5]: در پوشه <dist>، آرشیوهای Spring را پیدا خواهید کرد. آرشیو [spring.jar] حاوی تمام کلاس‌های فریم‌ورک Spring است. این موارد همچنین به صورت ماژول در پوشه <modules> در [6] موجود هستند. اگر بدانید کدام ماژول‌ها را نیاز دارید، می‌توانید آن‌ها را در اینجا پیدا کنید. این کار مانع از آن می‌شود که آرشیوهایی را در برنامه وارد کنید که به آن‌ها نیاز ندارد.
  • در [7]: پوشه <lib> شامل آرشیوهای ابزارهای شخص ثالث مورد استفاده توسط Spring است
  • در [8]: برخی از آرشیوهای پروژه [jakarta-commons]

وقتی آموزش از آرشیوهای Spring استفاده می‌کند، باید آن‌ها را یا از پوشه <dist> یا از پوشه <lib> در مسیر نصب Spring بازیابی کنید.

5.12. کانتینر EJB3 از JBoss

کانستر EJB3 از JBoss در URL [http://labs.jboss.com/jbossejb3/downloads/embeddableEJB3] در دسترس است:

  • در [1]: ما JBoss و EJB3 را دانلود می‌کنیم. می‌توانیم تاریخ محصول (سپتامبر ۲۰۰۶) را ببینیم، در حالی که دانلود در مه ۲۰۰۷ انجام شده است. ممکن است کسی تعجب کند که آیا این محصول هنوز در حال توسعه است یا خیر.
  • در [2]: فایل دانلود شده
  • در [3]: فایل فشرده ZIP از حالت فشرده خارج‌شده
  • در [4]: آرشیوهای [hibernate-all.jar, jboss-ejb3-all.jar, thirdparty-all.jar]، کانتینر EJB3 را برای JBoss تشکیل می‌دهند. آن‌ها باید در کلاس‌پث برنامه‌ای که از این کانتینر استفاده می‌کند قرار داده شوند.