لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 43 صفحه
قسمتی از متن .doc :
معماری عمومی وب و روش جاوا
برای تشریح بهتر برنامههای کاربردی تحت وب مدرن و امروزی ،معمولا رسم بر آن است که آن را به چهار لایة مستقل تفکیک میکنند . ( شکل یک ) لایة مشتری یا clien ، لایههای میانی که عبارتند از presentation و Business و در نهایت آخرین لایه یعنی لایة داد . در مدلهای کوچکتر معمولا لایههای میانی در یک لایه مجتمع شده و در نتیجچه یک مدل ساده شده سه لایهای به دست میآید برای تصور بهتر این لایهها ، شاید بهتر بتاشد که فرض کنید هر لایه بر روی یک کامپیوتر پیاده سازی میشود .
با اینن سناریو ، فقط لایة مشتری یا clien در منزل و محل کار من یا شما قرار گرفته است و بقیة لایهها بر روی کامپیوترهایی واقع هستند که ممکن است صدها یا هزارها کیلومتر از ما فاصلاه داشتهباشد . حتی ممکن است که لایههای دیگر نیزر در کنار هم واقع شدهباشند . ( هر چند که معمولا چنین نیست . ) لایة مشتری در این مدل سازسژی همان مرورگر وب است که بر روی کامپیوتر مشتری ، صفحات وب را نشان میدهد . در اینن لایه علاوه بر آنکه اطلاعات نمایش داده میشوند ، امکان ورود اطلاعات از طرف کاربر نیز وجود دارد و یکی از وظایف مرور گرها ، انتقال این اطلاعات جمع آوری شده و ارسال آن به لایههای فوقانی است . معمولا برای پیاده
سازی لایههای مشتری از دو روش استفاده میشود .
در روش اول ، از هوشمند بودن کامپیوتر کاربر هیچ استفادهای نمیشود . هنگامی که کاربر اطلاعات یک فرم را تکمیل میکند و یا در خواست صفحة خاصی را میکند (submit) . کلیه عملیات پردازشی در لایههای میانی انجام شده و صفحة جدیدی برای او ارسال میگردد . این صفحة جدید فقط ممکن است شامل یک پیام خطا باشد . به این روش اصطلاحا Dump HTML client اطلاق میگردد . در روش دوم از هوشمندی کامپیوتر کاربر به خوبی استفاده میگردد . مثلا هنگامی که فرمی را در یک صفحة وب تکمیل میکنیم و اگر دچار اشتباه شویم ، بلافاصله بدون آنکه ارتباطی بین لایههای فوقانی برقرار گردد ، کامپیوتر به شما هشدار میدهد . مزیت روش دوم (Semi intellgent client ) آشکار است . ( کاربر برای هر عملیات ساده و ابتدایی نیاز به انتظار کشیدن در پای کامپیوتر خود ندارد . ) اما در این روش ، مرز بین لایههای میانی ( Business و Presentation ) مخدوش میگردد برای استفاده از هوشمندی کامپیوتر مشتری ، از اسکریپت نویسی به زبانهای جاوا اسکریپت و یا ( DHTML ) vbscript در صفحات وب استفاده میشود . توجه داشته باشید که به همین علت ، ، توانایی مرورگرها در اجرای دستورات ، اهمیت مییابد و نسخههای 4 به بعد مرورگرهای Netscape/IE ، امروزه حداقل نیازمندی سایتهای جدید قرار گرفتهاند .
لایه Presentation
وظیفة لایة Presentation ، ارائة محتوای متغیر ( دینامیک ) در صفحات وب است . معمولا محتوای دینامیک از یک بانک اطلاعاتی تامین میشود ( مانند اسامی کاربران Hotmail به همراه مشخصات آنان ) . وظیفة مهمتر این لایه شناسایی صفحات ارسال شده از سمت مشتری ( client ) است .
( یعنی شناسایی کاربر و انتقال اطلاعاتی که او به لایة Business وارد کردهاست ) . روشهای پیاده سازی این عملیات بر روی کامپیوتر web server ، متنوع بوده و در گذشته از برنامههای موسوم به
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 43 صفحه
قسمتی از متن .doc :
معماری عمومی وب و روش جاوا
برای تشریح بهتر برنامههای کاربردی تحت وب مدرن و امروزی ،معمولا رسم بر آن است که آن را به چهار لایة مستقل تفکیک میکنند . ( شکل یک ) لایة مشتری یا clien ، لایههای میانی که عبارتند از presentation و Business و در نهایت آخرین لایه یعنی لایة داد . در مدلهای کوچکتر معمولا لایههای میانی در یک لایه مجتمع شده و در نتیجچه یک مدل ساده شده سه لایهای به دست میآید برای تصور بهتر این لایهها ، شاید بهتر بتاشد که فرض کنید هر لایه بر روی یک کامپیوتر پیاده سازی میشود .
با اینن سناریو ، فقط لایة مشتری یا clien در منزل و محل کار من یا شما قرار گرفته است و بقیة لایهها بر روی کامپیوترهایی واقع هستند که ممکن است صدها یا هزارها کیلومتر از ما فاصلاه داشتهباشد . حتی ممکن است که لایههای دیگر نیزر در کنار هم واقع شدهباشند . ( هر چند که معمولا چنین نیست . ) لایة مشتری در این مدل سازسژی همان مرورگر وب است که بر روی کامپیوتر مشتری ، صفحات وب را نشان میدهد . در اینن لایه علاوه بر آنکه اطلاعات نمایش داده میشوند ، امکان ورود اطلاعات از طرف کاربر نیز وجود دارد و یکی از وظایف مرور گرها ، انتقال این اطلاعات جمع آوری شده و ارسال آن به لایههای فوقانی است . معمولا برای پیاده
سازی لایههای مشتری از دو روش استفاده میشود .
در روش اول ، از هوشمند بودن کامپیوتر کاربر هیچ استفادهای نمیشود . هنگامی که کاربر اطلاعات یک فرم را تکمیل میکند و یا در خواست صفحة خاصی را میکند (submit) . کلیه عملیات پردازشی در لایههای میانی انجام شده و صفحة جدیدی برای او ارسال میگردد . این صفحة جدید فقط ممکن است شامل یک پیام خطا باشد . به این روش اصطلاحا Dump HTML client اطلاق میگردد . در روش دوم از هوشمندی کامپیوتر کاربر به خوبی استفاده میگردد . مثلا هنگامی که فرمی را در یک صفحة وب تکمیل میکنیم و اگر دچار اشتباه شویم ، بلافاصله بدون آنکه ارتباطی بین لایههای فوقانی برقرار گردد ، کامپیوتر به شما هشدار میدهد . مزیت روش دوم (Semi intellgent client ) آشکار است . ( کاربر برای هر عملیات ساده و ابتدایی نیاز به انتظار کشیدن در پای کامپیوتر خود ندارد . ) اما در این روش ، مرز بین لایههای میانی ( Business و Presentation ) مخدوش میگردد برای استفاده از هوشمندی کامپیوتر مشتری ، از اسکریپت نویسی به زبانهای جاوا اسکریپت و یا ( DHTML ) vbscript در صفحات وب استفاده میشود . توجه داشته باشید که به همین علت ، ، توانایی مرورگرها در اجرای دستورات ، اهمیت مییابد و نسخههای 4 به بعد مرورگرهای Netscape/IE ، امروزه حداقل نیازمندی سایتهای جدید قرار گرفتهاند .
لایه Presentation
وظیفة لایة Presentation ، ارائة محتوای متغیر ( دینامیک ) در صفحات وب است . معمولا محتوای دینامیک از یک بانک اطلاعاتی تامین میشود ( مانند اسامی کاربران Hotmail به همراه مشخصات آنان ) . وظیفة مهمتر این لایه شناسایی صفحات ارسال شده از سمت مشتری ( client ) است .
( یعنی شناسایی کاربر و انتقال اطلاعاتی که او به لایة Business وارد کردهاست ) . روشهای پیاده سازی این عملیات بر روی کامپیوتر web server ، متنوع بوده و در گذشته از برنامههای موسوم به
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 9 صفحه
قسمتی از متن .doc :
نویسنده : James Jianbo Huangمترجم: فریبا محمدی
خلاصه:
JudoScript یک زبان نوشتاری جاوا است که ساده و قدرتمند بوده و پشتیبان تابعی مختص دامنه 4GL-Link (domain-specific) را دارد و به کاربران اجازه میدهد، مشخص کنند چه کاری میخواهند انجام دهند و چه زمانی برنامههای الگوریتمی لازم میباشند.
این پشتیبان تابعی، جودواسکریپت را در یک دسته جدید از زبانهای نوشتاری تابعی قرار میدهد، مانند هر زبان نسل چهارم. جودواسکریپت روی مشخص کردن اهداف و آمادهسازی راهحلهای خودکار (الگوریتمها)، برای عملی کردن اهداف، تاکید دارد. جودواسکریپت از نحوی شبیه نحو جاوااسکریپت و مدل برنامهنویسی در آن استفاده میکند، ولی قدرت محاسبه بیشتری در ساختار دادههای کامل دارد. این زبان همچنین در الگوهای جاوا بسیار قوی است، بنابراین به همه منابع قابل خواندن جاوا، دسترسی دارد. هماهنگی تمام این خصیصهها باعث ایجاد قدرت، بهرهوری و ظرافت زیادی در برآوردن نیازها شده است.
پردازش داده یکی از مهمترین کاربردهای جودواسکریپت است. امروز برنامههای کاربردی با فرمتهای دادهای خاص و کامل، مثل پایگاه دادههای رابطهای XML، (Standard Generalized Markup Language) SGML، انواع دادههای انتزاعی مثل EJBها (Enterprise JavaBeans)، سرویسهای وب و فایلهای مسطح کار میکنند.
جودواسکریپت برای پردازش دادهای چند فرمتی و چند منبعی کاملا ایدهآل است. این دو بخش روی (Java Database Connectivity) JDBC جودواسکریپت تمرکز میکنند، زبان جودواسکریپت را معرفی مینمایند و پردازش داده با J2EE را شرح میدهد. بخش اول پشتیبانی نوشتاری JDBC جودواسکریپت را شرح میدهد.
JDBC Scripting به چه معناست؟
JDBC یک استاندارد APIجاوا برای دستیابی به پایگاههای داده SQL است. از JDBC برای دستیابی به پایگاه داده در جهت برطرف کردن نیازهای مشتریان پایگاه، استفاده میشود. نکته قابل توجه اینجاست که شرکتهای اصلی (Relational Database Management System) RDBMS دستورالعملهای JDBC خالص را برای تولیدات خودشان تهیه میکنند، بنابراین یک ابزار مفید اسکریپتنویسی JDBC میتواند به سادگی امتیازی از این قابلیت را بگیرد. تمام چیزی که نیاز دارید، JDBC URL و فایل JDBC درایور میباشد که در classpath وجود دارد. شما میتوانید همزمان به چند پایگاه داده برای پردازش داده ناهمگن وصل شوید.
از نظر فلسفی، اسکریپتنویسی JDBC بخشی از یک ایده بزرگ است: استفاده از پایه جاوا به عنوان یک زبان شیگرا و برای اجرای منظم محاسبه کارها. زبان جودواسکریپت به این منظور طراحی گردید.
امروزه شرکتهای بزرگ نرمافزاری فقط از پایگاه دادههای رابطهای استفاده نمیکنند و قالب دادههای قویتر مثل XML وSGML و انواع دادههای انتزاعی مثل Enterprise EJB و سرویسهای وب به خوبی همان فرمتهای قدیمی مثل فایلهای هموار و صفحات گسترده عمل میکنند.
اکنون ابزارهای مختلفی را برای پردازش، گزارش گیری و پرسوجوی دادهها به کار میبرند که نمونههایی از مزیتهای بدیهی آنها به صورت ذیل میباشد:
1. شما میتوانید هر پردازشی را با هر منبع دادهای با هر فرمتی به صورت همزمان انجام دهید.
2. دسترسی به راهحلها و نتایج درست، سریعتر است
3. ابزارهای کمی برای یادگیری، نصب، پیکربندی و راهاندازی مورد نیاز است
4. دارا بودن یک ابزار رایگان و منفرد ارزانتر تمام میشود
5. فرآیند حل مشکل آسانتر میباشد، زیرا میتوانید بدون نگرانی در مورد مسائل محیطی، تعویض زمینه (context switching) و یکپارچگی کامپوننتهای نامتجانس مشکل را بررسی کنید.
جاوا در حد یک ابزار عملی تنزل کرده و این بدان علت است که به عنوان یک زبان سیستمی، برای ایجاد سیستمهای نرمافزاری شیگرا طراحی شده است.
یک وسیله نوشتاری خوب باید خصیصههای تابعی انتزاعی برای کاربران و برای بهتر انجام شدن کارها داشته باشد و همچنین قدرت برنامهنویسی آن کم نشود.
از طرفی SQL (محض) خیلی محدود شده، چرا که ابزارهای پرسوجو ساده خیلی ضعیف عمل میکنند. جودواسکریپت ساختارهای دادهای زیادی دارد و برای کامپوننتهای جاوا خیلی قوی است. شما میتوانید از جودواسکریپت برای دریافت داده از پایگاه داده A، محاسبه برخی نتایج میانی در حافظه و پایان کار با پایگاه داده B، استفاده کنید. اگر از اوراکل استفاده میکنید، حتما نیاز بر استفاده از PL/SQL، پیوندهای پایگاه داده و جداول موقت خواهید داشت. جودواسکریپت به راحتی میتواند با فایلهای ساده، صفحات گسترده، XML، SGML، EJBS و غیره کار کند.
پشتیبانی JDBC در جودواسکریپت:
جودواسکریپت مجموعهای از پشتیبانهای نحوی را برای اجرای SQL دارد. دستورات زبان تعریف داده (DDL) و زبان دستکاری داده (DML) میتوانند به صورت منفرد یا به صورت گروهی یا دستهای اجرا شوند. شما میتوانید پروسیجرها را (روال) با پارامترهای -in، -out و in-out فراخوانی کنید. مثال ساده زیر را ببینید:
connect to 'jdbc:oracle:thin:@dbsvr:1521:dbname', 'user', 'pass';// Create table and insert a few rows.executeSQL { CREATE TABLE emp(emp_no INTEGER PRIMARY KEY,
first_name VARCHAR(100), last_name VARCHAR(100), birth_date DATE, salary NUMBER); CREATE INDEX emp_fname ON emp(first_name); CREATE INDEX emp_lname ON emp(last_name); INSERT INTO emp(emp_no,first_name,last_name,birth_date,salary) VALUES(100, 'Jim', 'Billups', to_date('1954-1-3','yyyy-mm-dd'), 86500.0); INSERT INTO emp(emp_no,first_name,last_name,birth_date,salary) VALUES(101, 'Linda', 'Jordan', to_date('1980-7-24','yyyy-mm-dd'),45250.0);}// Query and print out rows.executeQuery qry: SELECT emp_no, first_name, last_name, salary FROM emp WHERE salary < 50000 ORDER BY salary ASC;while qry.next() { println '#', qry[1], ' ', qry.last_name, ', ', qry.first_name, ': ',qry.salary;}disconnect(); // From database
این برنامه به پایگاه داده وصل شده، تعدادی از دستورات تعریف و دستکاری داده SQL را اجرا کرده و نهایتا یک پرسوجو را برای چاپ نتایج در جدول اجرا میکند. در بخش executeQuery، متغیر qry بخشی ازJava.Sql.ResultSet است، پس شما میتوانید متد next() را فراخوانی کنید، ستونها در یک سطر میتوانند با اسامی یا شاخصهایشان مورد دستیابی قرار گیرند. مثال بعدی نشان میدهد که چطور متغیرها میتوانند محدود و مقید (bound) شوند: در این مثال بخشهای مربوط به اتصال به پایگاه داده حذف شده است:
// Prepare a SQLprepare qry: SELECT emp_no, first_name, last_name, salary FROM emp WHERE salary < ? ORDER BY salary ASC;// Run the queryexecuteQuery qry with @1:number = 5000.0;while qry.next() { println '#', qry[1], ' ', qry.last_name, ', ', qry.first_name, ': ',qry.salary;}
در کد بالا، ما از متد toCsv()آرایهها استفاده کرده و یک تابع بینام را برای متغیرها به کار میبریم. نتیجه عبارت SQL به این صورت است:
SELESCT * FROM emp WHERE Last_ name IN (‘Olajuwan’, ‘Yao’).
مثالهایی را دیدیم که عبارتهای SQL را به طور خودکار ساخته و SQL را مستقیما اجرا میکند. حالت دیگر از اجرای SQL به صورت دستهای است.
اتصالات پایگاههای داده
شما به صورت زیر به یک پایگاه داده وصل میشوید:
cannect mycon to ‘jdbc:oracle:thin:@dbsvr:1521:dbname’, ‘user’, ‘pass’;
اتصال ایجاد شده در متغیر mycon ذخیره شده است. اگر نام متغیر اتصال حذف شود، جودواسکریپت از متغیر سراسری از پیش تعریف شده $$con استفاده میکند. میتوانید صفات اتصال را مثل زیر مشخص کنید:
connect mycon ( autoCommit=false ) to 'jdbc:oracle:thin:@dbsvr:1521:dbname', 'user', 'pass';
چطور جودواسکریپت، درایور JDBC را بارگذاری میکند؟ جودواسکریپت لیستی از اسامی کلاسهای درایور JDBC و پیشوندهای URL آنها را دارد. مثلا وقتی جودواسکریپت، اوراکل را در Jdbc:oracle:… ببیند، کلاس درایور JDBC آن یعنی oracle.jdbc.driver.JdbcDriver را بارگذاری میکند. اگر یکی از درایورها در لیست نباشد، به عنوان یک صفت درایور مشخص میشود یا به شیوه قدیمی جاوا بارگذاری میگردد:
// JudoScript style
connect (driver=‘my.db.jdbc.driver’) to 'jdbc:….’, “/”;
// Java style
(java::class). forName (‘my.db.jdbc.driver’);
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 9 صفحه
قسمتی از متن .doc :
نویسنده : James Jianbo Huangمترجم: فریبا محمدی
خلاصه:
JudoScript یک زبان نوشتاری جاوا است که ساده و قدرتمند بوده و پشتیبان تابعی مختص دامنه 4GL-Link (domain-specific) را دارد و به کاربران اجازه میدهد، مشخص کنند چه کاری میخواهند انجام دهند و چه زمانی برنامههای الگوریتمی لازم میباشند.
این پشتیبان تابعی، جودواسکریپت را در یک دسته جدید از زبانهای نوشتاری تابعی قرار میدهد، مانند هر زبان نسل چهارم. جودواسکریپت روی مشخص کردن اهداف و آمادهسازی راهحلهای خودکار (الگوریتمها)، برای عملی کردن اهداف، تاکید دارد. جودواسکریپت از نحوی شبیه نحو جاوااسکریپت و مدل برنامهنویسی در آن استفاده میکند، ولی قدرت محاسبه بیشتری در ساختار دادههای کامل دارد. این زبان همچنین در الگوهای جاوا بسیار قوی است، بنابراین به همه منابع قابل خواندن جاوا، دسترسی دارد. هماهنگی تمام این خصیصهها باعث ایجاد قدرت، بهرهوری و ظرافت زیادی در برآوردن نیازها شده است.
پردازش داده یکی از مهمترین کاربردهای جودواسکریپت است. امروز برنامههای کاربردی با فرمتهای دادهای خاص و کامل، مثل پایگاه دادههای رابطهای XML، (Standard Generalized Markup Language) SGML، انواع دادههای انتزاعی مثل EJBها (Enterprise JavaBeans)، سرویسهای وب و فایلهای مسطح کار میکنند.
جودواسکریپت برای پردازش دادهای چند فرمتی و چند منبعی کاملا ایدهآل است. این دو بخش روی (Java Database Connectivity) JDBC جودواسکریپت تمرکز میکنند، زبان جودواسکریپت را معرفی مینمایند و پردازش داده با J2EE را شرح میدهد. بخش اول پشتیبانی نوشتاری JDBC جودواسکریپت را شرح میدهد.
JDBC Scripting به چه معناست؟
JDBC یک استاندارد APIجاوا برای دستیابی به پایگاههای داده SQL است. از JDBC برای دستیابی به پایگاه داده در جهت برطرف کردن نیازهای مشتریان پایگاه، استفاده میشود. نکته قابل توجه اینجاست که شرکتهای اصلی (Relational Database Management System) RDBMS دستورالعملهای JDBC خالص را برای تولیدات خودشان تهیه میکنند، بنابراین یک ابزار مفید اسکریپتنویسی JDBC میتواند به سادگی امتیازی از این قابلیت را بگیرد. تمام چیزی که نیاز دارید، JDBC URL و فایل JDBC درایور میباشد که در classpath وجود دارد. شما میتوانید همزمان به چند پایگاه داده برای پردازش داده ناهمگن وصل شوید.
از نظر فلسفی، اسکریپتنویسی JDBC بخشی از یک ایده بزرگ است: استفاده از پایه جاوا به عنوان یک زبان شیگرا و برای اجرای منظم محاسبه کارها. زبان جودواسکریپت به این منظور طراحی گردید.
امروزه شرکتهای بزرگ نرمافزاری فقط از پایگاه دادههای رابطهای استفاده نمیکنند و قالب دادههای قویتر مثل XML وSGML و انواع دادههای انتزاعی مثل Enterprise EJB و سرویسهای وب به خوبی همان فرمتهای قدیمی مثل فایلهای هموار و صفحات گسترده عمل میکنند.
اکنون ابزارهای مختلفی را برای پردازش، گزارش گیری و پرسوجوی دادهها به کار میبرند که نمونههایی از مزیتهای بدیهی آنها به صورت ذیل میباشد:
1. شما میتوانید هر پردازشی را با هر منبع دادهای با هر فرمتی به صورت همزمان انجام دهید.
2. دسترسی به راهحلها و نتایج درست، سریعتر است
3. ابزارهای کمی برای یادگیری، نصب، پیکربندی و راهاندازی مورد نیاز است
4. دارا بودن یک ابزار رایگان و منفرد ارزانتر تمام میشود
5. فرآیند حل مشکل آسانتر میباشد، زیرا میتوانید بدون نگرانی در مورد مسائل محیطی، تعویض زمینه (context switching) و یکپارچگی کامپوننتهای نامتجانس مشکل را بررسی کنید.
جاوا در حد یک ابزار عملی تنزل کرده و این بدان علت است که به عنوان یک زبان سیستمی، برای ایجاد سیستمهای نرمافزاری شیگرا طراحی شده است.
یک وسیله نوشتاری خوب باید خصیصههای تابعی انتزاعی برای کاربران و برای بهتر انجام شدن کارها داشته باشد و همچنین قدرت برنامهنویسی آن کم نشود.
از طرفی SQL (محض) خیلی محدود شده، چرا که ابزارهای پرسوجو ساده خیلی ضعیف عمل میکنند. جودواسکریپت ساختارهای دادهای زیادی دارد و برای کامپوننتهای جاوا خیلی قوی است. شما میتوانید از جودواسکریپت برای دریافت داده از پایگاه داده A، محاسبه برخی نتایج میانی در حافظه و پایان کار با پایگاه داده B، استفاده کنید. اگر از اوراکل استفاده میکنید، حتما نیاز بر استفاده از PL/SQL، پیوندهای پایگاه داده و جداول موقت خواهید داشت. جودواسکریپت به راحتی میتواند با فایلهای ساده، صفحات گسترده، XML، SGML، EJBS و غیره کار کند.
پشتیبانی JDBC در جودواسکریپت:
جودواسکریپت مجموعهای از پشتیبانهای نحوی را برای اجرای SQL دارد. دستورات زبان تعریف داده (DDL) و زبان دستکاری داده (DML) میتوانند به صورت منفرد یا به صورت گروهی یا دستهای اجرا شوند. شما میتوانید پروسیجرها را (روال) با پارامترهای -in، -out و in-out فراخوانی کنید. مثال ساده زیر را ببینید:
connect to 'jdbc:oracle:thin:@dbsvr:1521:dbname', 'user', 'pass';// Create table and insert a few rows.executeSQL { CREATE TABLE emp(emp_no INTEGER PRIMARY KEY,
first_name VARCHAR(100), last_name VARCHAR(100), birth_date DATE, salary NUMBER); CREATE INDEX emp_fname ON emp(first_name); CREATE INDEX emp_lname ON emp(last_name); INSERT INTO emp(emp_no,first_name,last_name,birth_date,salary) VALUES(100, 'Jim', 'Billups', to_date('1954-1-3','yyyy-mm-dd'), 86500.0); INSERT INTO emp(emp_no,first_name,last_name,birth_date,salary) VALUES(101, 'Linda', 'Jordan', to_date('1980-7-24','yyyy-mm-dd'),45250.0);}// Query and print out rows.executeQuery qry: SELECT emp_no, first_name, last_name, salary FROM emp WHERE salary < 50000 ORDER BY salary ASC;while qry.next() { println '#', qry[1], ' ', qry.last_name, ', ', qry.first_name, ': ',qry.salary;}disconnect(); // From database
این برنامه به پایگاه داده وصل شده، تعدادی از دستورات تعریف و دستکاری داده SQL را اجرا کرده و نهایتا یک پرسوجو را برای چاپ نتایج در جدول اجرا میکند. در بخش executeQuery، متغیر qry بخشی ازJava.Sql.ResultSet است، پس شما میتوانید متد next() را فراخوانی کنید، ستونها در یک سطر میتوانند با اسامی یا شاخصهایشان مورد دستیابی قرار گیرند. مثال بعدی نشان میدهد که چطور متغیرها میتوانند محدود و مقید (bound) شوند: در این مثال بخشهای مربوط به اتصال به پایگاه داده حذف شده است:
// Prepare a SQLprepare qry: SELECT emp_no, first_name, last_name, salary FROM emp WHERE salary < ? ORDER BY salary ASC;// Run the queryexecuteQuery qry with @1:number = 5000.0;while qry.next() { println '#', qry[1], ' ', qry.last_name, ', ', qry.first_name, ': ',qry.salary;}
در کد بالا، ما از متد toCsv()آرایهها استفاده کرده و یک تابع بینام را برای متغیرها به کار میبریم. نتیجه عبارت SQL به این صورت است:
SELESCT * FROM emp WHERE Last_ name IN (‘Olajuwan’, ‘Yao’).
مثالهایی را دیدیم که عبارتهای SQL را به طور خودکار ساخته و SQL را مستقیما اجرا میکند. حالت دیگر از اجرای SQL به صورت دستهای است.
اتصالات پایگاههای داده
شما به صورت زیر به یک پایگاه داده وصل میشوید:
cannect mycon to ‘jdbc:oracle:thin:@dbsvr:1521:dbname’, ‘user’, ‘pass’;
اتصال ایجاد شده در متغیر mycon ذخیره شده است. اگر نام متغیر اتصال حذف شود، جودواسکریپت از متغیر سراسری از پیش تعریف شده $$con استفاده میکند. میتوانید صفات اتصال را مثل زیر مشخص کنید:
connect mycon ( autoCommit=false ) to 'jdbc:oracle:thin:@dbsvr:1521:dbname', 'user', 'pass';
چطور جودواسکریپت، درایور JDBC را بارگذاری میکند؟ جودواسکریپت لیستی از اسامی کلاسهای درایور JDBC و پیشوندهای URL آنها را دارد. مثلا وقتی جودواسکریپت، اوراکل را در Jdbc:oracle:… ببیند، کلاس درایور JDBC آن یعنی oracle.jdbc.driver.JdbcDriver را بارگذاری میکند. اگر یکی از درایورها در لیست نباشد، به عنوان یک صفت درایور مشخص میشود یا به شیوه قدیمی جاوا بارگذاری میگردد:
// JudoScript style
connect (driver=‘my.db.jdbc.driver’) to 'jdbc:….’, “/”;
// Java style
(java::class). forName (‘my.db.jdbc.driver’);
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 9 صفحه
قسمتی از متن .doc :
نویسنده : James Jianbo Huangمترجم: فریبا محمدی
خلاصه:
JudoScript یک زبان نوشتاری جاوا است که ساده و قدرتمند بوده و پشتیبان تابعی مختص دامنه 4GL-Link (domain-specific) را دارد و به کاربران اجازه میدهد، مشخص کنند چه کاری میخواهند انجام دهند و چه زمانی برنامههای الگوریتمی لازم میباشند.
این پشتیبان تابعی، جودواسکریپت را در یک دسته جدید از زبانهای نوشتاری تابعی قرار میدهد، مانند هر زبان نسل چهارم. جودواسکریپت روی مشخص کردن اهداف و آمادهسازی راهحلهای خودکار (الگوریتمها)، برای عملی کردن اهداف، تاکید دارد. جودواسکریپت از نحوی شبیه نحو جاوااسکریپت و مدل برنامهنویسی در آن استفاده میکند، ولی قدرت محاسبه بیشتری در ساختار دادههای کامل دارد. این زبان همچنین در الگوهای جاوا بسیار قوی است، بنابراین به همه منابع قابل خواندن جاوا، دسترسی دارد. هماهنگی تمام این خصیصهها باعث ایجاد قدرت، بهرهوری و ظرافت زیادی در برآوردن نیازها شده است.
پردازش داده یکی از مهمترین کاربردهای جودواسکریپت است. امروز برنامههای کاربردی با فرمتهای دادهای خاص و کامل، مثل پایگاه دادههای رابطهای XML، (Standard Generalized Markup Language) SGML، انواع دادههای انتزاعی مثل EJBها (Enterprise JavaBeans)، سرویسهای وب و فایلهای مسطح کار میکنند.
جودواسکریپت برای پردازش دادهای چند فرمتی و چند منبعی کاملا ایدهآل است. این دو بخش روی (Java Database Connectivity) JDBC جودواسکریپت تمرکز میکنند، زبان جودواسکریپت را معرفی مینمایند و پردازش داده با J2EE را شرح میدهد. بخش اول پشتیبانی نوشتاری JDBC جودواسکریپت را شرح میدهد.
JDBC Scripting به چه معناست؟
JDBC یک استاندارد APIجاوا برای دستیابی به پایگاههای داده SQL است. از JDBC برای دستیابی به پایگاه داده در جهت برطرف کردن نیازهای مشتریان پایگاه، استفاده میشود. نکته قابل توجه اینجاست که شرکتهای اصلی (Relational Database Management System) RDBMS دستورالعملهای JDBC خالص را برای تولیدات خودشان تهیه میکنند، بنابراین یک ابزار مفید اسکریپتنویسی JDBC میتواند به سادگی امتیازی از این قابلیت را بگیرد. تمام چیزی که نیاز دارید، JDBC URL و فایل JDBC درایور میباشد که در classpath وجود دارد. شما میتوانید همزمان به چند پایگاه داده برای پردازش داده ناهمگن وصل شوید.
از نظر فلسفی، اسکریپتنویسی JDBC بخشی از یک ایده بزرگ است: استفاده از پایه جاوا به عنوان یک زبان شیگرا و برای اجرای منظم محاسبه کارها. زبان جودواسکریپت به این منظور طراحی گردید.
امروزه شرکتهای بزرگ نرمافزاری فقط از پایگاه دادههای رابطهای استفاده نمیکنند و قالب دادههای قویتر مثل XML وSGML و انواع دادههای انتزاعی مثل Enterprise EJB و سرویسهای وب به خوبی همان فرمتهای قدیمی مثل فایلهای هموار و صفحات گسترده عمل میکنند.
اکنون ابزارهای مختلفی را برای پردازش، گزارش گیری و پرسوجوی دادهها به کار میبرند که نمونههایی از مزیتهای بدیهی آنها به صورت ذیل میباشد:
1. شما میتوانید هر پردازشی را با هر منبع دادهای با هر فرمتی به صورت همزمان انجام دهید.
2. دسترسی به راهحلها و نتایج درست، سریعتر است
3. ابزارهای کمی برای یادگیری، نصب، پیکربندی و راهاندازی مورد نیاز است
4. دارا بودن یک ابزار رایگان و منفرد ارزانتر تمام میشود
5. فرآیند حل مشکل آسانتر میباشد، زیرا میتوانید بدون نگرانی در مورد مسائل محیطی، تعویض زمینه (context switching) و یکپارچگی کامپوننتهای نامتجانس مشکل را بررسی کنید.
جاوا در حد یک ابزار عملی تنزل کرده و این بدان علت است که به عنوان یک زبان سیستمی، برای ایجاد سیستمهای نرمافزاری شیگرا طراحی شده است.
یک وسیله نوشتاری خوب باید خصیصههای تابعی انتزاعی برای کاربران و برای بهتر انجام شدن کارها داشته باشد و همچنین قدرت برنامهنویسی آن کم نشود.
از طرفی SQL (محض) خیلی محدود شده، چرا که ابزارهای پرسوجو ساده خیلی ضعیف عمل میکنند. جودواسکریپت ساختارهای دادهای زیادی دارد و برای کامپوننتهای جاوا خیلی قوی است. شما میتوانید از جودواسکریپت برای دریافت داده از پایگاه داده A، محاسبه برخی نتایج میانی در حافظه و پایان کار با پایگاه داده B، استفاده کنید. اگر از اوراکل استفاده میکنید، حتما نیاز بر استفاده از PL/SQL، پیوندهای پایگاه داده و جداول موقت خواهید داشت. جودواسکریپت به راحتی میتواند با فایلهای ساده، صفحات گسترده، XML، SGML، EJBS و غیره کار کند.
پشتیبانی JDBC در جودواسکریپت:
جودواسکریپت مجموعهای از پشتیبانهای نحوی را برای اجرای SQL دارد. دستورات زبان تعریف داده (DDL) و زبان دستکاری داده (DML) میتوانند به صورت منفرد یا به صورت گروهی یا دستهای اجرا شوند. شما میتوانید پروسیجرها را (روال) با پارامترهای -in، -out و in-out فراخوانی کنید. مثال ساده زیر را ببینید:
connect to 'jdbc:oracle:thin:@dbsvr:1521:dbname', 'user', 'pass';// Create table and insert a few rows.executeSQL { CREATE TABLE emp(emp_no INTEGER PRIMARY KEY,
first_name VARCHAR(100), last_name VARCHAR(100), birth_date DATE, salary NUMBER); CREATE INDEX emp_fname ON emp(first_name); CREATE INDEX emp_lname ON emp(last_name); INSERT INTO emp(emp_no,first_name,last_name,birth_date,salary) VALUES(100, 'Jim', 'Billups', to_date('1954-1-3','yyyy-mm-dd'), 86500.0); INSERT INTO emp(emp_no,first_name,last_name,birth_date,salary) VALUES(101, 'Linda', 'Jordan', to_date('1980-7-24','yyyy-mm-dd'),45250.0);}// Query and print out rows.executeQuery qry: SELECT emp_no, first_name, last_name, salary FROM emp WHERE salary < 50000 ORDER BY salary ASC;while qry.next() { println '#', qry[1], ' ', qry.last_name, ', ', qry.first_name, ': ',qry.salary;}disconnect(); // From database
این برنامه به پایگاه داده وصل شده، تعدادی از دستورات تعریف و دستکاری داده SQL را اجرا کرده و نهایتا یک پرسوجو را برای چاپ نتایج در جدول اجرا میکند. در بخش executeQuery، متغیر qry بخشی ازJava.Sql.ResultSet است، پس شما میتوانید متد next() را فراخوانی کنید، ستونها در یک سطر میتوانند با اسامی یا شاخصهایشان مورد دستیابی قرار گیرند. مثال بعدی نشان میدهد که چطور متغیرها میتوانند محدود و مقید (bound) شوند: در این مثال بخشهای مربوط به اتصال به پایگاه داده حذف شده است:
// Prepare a SQLprepare qry: SELECT emp_no, first_name, last_name, salary FROM emp WHERE salary < ? ORDER BY salary ASC;// Run the queryexecuteQuery qry with @1:number = 5000.0;while qry.next() { println '#', qry[1], ' ', qry.last_name, ', ', qry.first_name, ': ',qry.salary;}
در کد بالا، ما از متد toCsv()آرایهها استفاده کرده و یک تابع بینام را برای متغیرها به کار میبریم. نتیجه عبارت SQL به این صورت است:
SELESCT * FROM emp WHERE Last_ name IN (‘Olajuwan’, ‘Yao’).
مثالهایی را دیدیم که عبارتهای SQL را به طور خودکار ساخته و SQL را مستقیما اجرا میکند. حالت دیگر از اجرای SQL به صورت دستهای است.
اتصالات پایگاههای داده
شما به صورت زیر به یک پایگاه داده وصل میشوید:
cannect mycon to ‘jdbc:oracle:thin:@dbsvr:1521:dbname’, ‘user’, ‘pass’;
اتصال ایجاد شده در متغیر mycon ذخیره شده است. اگر نام متغیر اتصال حذف شود، جودواسکریپت از متغیر سراسری از پیش تعریف شده $$con استفاده میکند. میتوانید صفات اتصال را مثل زیر مشخص کنید:
connect mycon ( autoCommit=false ) to 'jdbc:oracle:thin:@dbsvr:1521:dbname', 'user', 'pass';
چطور جودواسکریپت، درایور JDBC را بارگذاری میکند؟ جودواسکریپت لیستی از اسامی کلاسهای درایور JDBC و پیشوندهای URL آنها را دارد. مثلا وقتی جودواسکریپت، اوراکل را در Jdbc:oracle:… ببیند، کلاس درایور JDBC آن یعنی oracle.jdbc.driver.JdbcDriver را بارگذاری میکند. اگر یکی از درایورها در لیست نباشد، به عنوان یک صفت درایور مشخص میشود یا به شیوه قدیمی جاوا بارگذاری میگردد:
// JudoScript style
connect (driver=‘my.db.jdbc.driver’) to 'jdbc:….’, “/”;
// Java style
(java::class). forName (‘my.db.jdbc.driver’);