PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Oracle Data Integrator در بوته آزمايش



TAHA
11-28-2009, 12:48 PM
اوراكل ، فنآوري Sunopsis ETL را كه در پائيز گذشته خریداری كرده ، طوري ارتقا داده است كه نيازهاي SOA و مديريت دادههاي اصلي و نيز نگهداري (Warehousing) داده ها و انتقال داده ها را نيز بر آورده كند . تسلط بر اين ابزار آن قدرها آسان نيست. ولي برای سرمایه گذاری در زمينه ی آموزش ، گزينه ی خوبي است.

در ماه اكتبر گذشته ، اوراكل ، Sunopsis و محصول Active Integration Platform (AIP) آن را كه شامل زير مجموعه اي از امكاناتي است كه به عنوان Data Conductor فروخته مي شوند ، خريداري و در ماه اكتبر ، اولين نسخه ی ارتقا يافته ی اين محصول ETL گرا [1]را با امكانات پيشرفته يكپارچه سازي برنامه عرضه كرد . نام و نسخه ی اين محصول تغيير یافت تا با خط توليد مديريت داده هاي اوراكل سازگار باشد.

اين محصول كه اكنون Oracle Data Integrator v 10.1.3 (ODI) ناميده مي شود ، معماري و كاركرد Sunopsis AIP را حفظ كرده و چند تغيير ارتقا دهنده ی درخور توجه نيز در آن داده است كه مهمترين آن ها ، بهبود قابليت ادغام با برنامه هاي Service-Oriented Architecture (SOA) است . ODI ، تبادل اطلاعات بين برنامه ها را خودكار مي كند . اوراكل اين محصول را در چهار زمينه ی كليدي ارتقا بخشيده است :

نگهداري داده ها و هوش كسب و كار[2] <SOA Master Data Management (MDM)
انتقال(Migration)

پس از كار با ODI در محيط آزمايش و گفت و گو با كاربران فراوان آخرين نسخه ی Sunopsis ، به اين نتيجه رسيديم كه ODI با معماري ساده ای که دارای حداقل نيازمندي سخت افزاري است ، به هر چهار نياز به خوبي پاسخ مي دهد . ابزارها و ساختار ODI ، مديريت كردن آن را نسبتاً ساده مي كند ، به ويژه وقتي كه افرادي از بخش هاي مختلف سازمان بخواهند در كل پروژه ، نقش داشته باشند.

در اينجا لازم است به دو مطلب توجه کرد : اول اينكه ، ODI براي تبديل داده ها از رويكرد قوانين كسب و كار استفاده مي كند. به اين ترتیب كه شما ساختارها و قوانين تبديل را تعريف مي كنيد و ODI ، كد لازم و مناسب براي فنآوري هاي داده اي مبداء و مقصد را ايجاد مي كند . دوم اينكه ، ODI به سرور میانجی نياز ندارد و داده ها مستقيما بين سرورهاي مبدا و مقصد جا به جا مي شوند . اين امر سبب حذف نياز به حركت در شبكه براي داده ها می شود و نیز به فنآوري پايگاه داده ی سرور مبداء يا مقصد امكان می دهد که تبديلات لازم را در مورد داده ها انجام دهد.

نگاهي به معماري

برای سازگاري با دامنه ی وسيعي از سكوها ، قسمت عمده ی ODI با جاوا پياده سازي شده است . ODI حاوي مؤلفه هاي زمان اجرا و زمان طراحي است كه از مجموعه ی مشتركي از مخزن هاي فراداده اي بهره می برند. چند میانجی و API از ادغام با برنامه هاي بيروني از جمله برنامه هاي SOA و سيستم هاي سنتي زمان بندي كارها پشتيباني مي كنند.
ODI ، چندين میانجی كاربري اصلي دارد. میانجی Topology Manager براي تعريف فنآوري هاي دستيابي به داده ها و محل ذخيره سازي سطح بالاي داده ها به صورت فيزيكي و منطقي (كه مبداء و مقصد جابه جایي و تبديل داده ها در پروژه هایي كه ايجاد مي كنيد ، خواهند بود) به كار مي رود . هر فنآوري داده اي پشتيباني شده (مثلاً پايگاه داده ، فايل معمولي ، فايل صفحه گسترده و ساختار داده XML) يك Knowledge Module (KM) از پيش برنامه ريزي شده مربوط به خود دارد . هر KM به همراه يك لايه ی اتصال مناسب مانند JDBC يا JMS ، كد لازم براي كار با آن فنآوري را ارائه مي كند. ODI همچنين دارای SQL عام و JMS Knowledge Module است و API هايي دارد كه براي ايجاد Knowledge Module براي سرويس هاي داده اي و ديگر فنآوري هاي اختصاصي به كار مي روند.

میانجی كاربري Designer كه برنامه نويسان و توسعه دهندگان ، بيشتر وقت خود را در آن صرف خواهند كرد ، براي ارائه ی اسكيماي[3] تفصيلي و جريان داده هايي كه براي كار ارزش حياتي دارند ، به كار مي رود . در اين میانجی، Model ها براي توصيف ساختار داده ها ، جدول ها ، ستون ها ، محدوديت ها و ... به كار مي روند. Project (پروژه) براي توصيف چگونگي استفاده از اين ساختار داده ها . در يك پروژه ، يك Interface ايجاد مي كنید تا براي توصيف چگونگي بارگذاري داده ها و تبديل آن ها از يك يا چند مخزن ذخيره سازي داده ها در مبداء به يك مخزن ذخيره سازي در مقصد استفاده شود . از تركيب Interface ها و Procedure ها ، ابزارها و اشيای ديگر ، Package به دست مي آيد كه بزرگترين شيء قابل اجراي ODI است .پس از تكميل اين مراحل ، نسخه ی كامپايل شده Interface ها ، Procedure ها يا Package ها كه Scenario نام دارند در Repository ذخيره مي شود. Scenario ، واحدي است كه براي اجراء ، زمان بندي مي شود . توانایي ايجاد چندين Context به شما امكان مي دهد تا به سرعت ، Project ها و Scenario هاي خود را به مخزن داده هاي فيزيكي (مثلا بين مخزن داده ی ايجاد و توسعه و مخزن داده ی توليد) اختصاص دهيد.

از میانجی كاربري Operator براي زمان بندي و مديريت اجراي كارها استفاده می شود . میانجی كاربري Security ، كنترل تفكيك شده اي بر دستیابی اشخاص به يك پروژه و براي انجام كارهايي که مجاز به انجام آن هستند ، ارائه مي كند . يك میانجی تحت وب سبك به نام Lightweight Designer به شما امكان مي دهد تا بر اجراي كارها از راه دور نظارت کنيد و براي اصلاح مشكلات عملياتي ، اقدام هاي اوليه را انجام دهيد.

کار با ODI

پس از مدتي کار کردن با ODI، چند موضوع برایم روشن شد . يكي از این مسائل آن بود كه به سرعت نمي توان بر اين محصول تسلط پيدا كرد . ولي برای اهداف خاص پروژه و آموزش مقدماتي ، می توان آنچه را كه براي انجام كار لازم است ، ياد گرفت . فكر مي كنم كه بیشتر برنامه نويسان در ظرف چند روز بتوانند با معماري و میانجی هاي كاربري ODI آشنا شوند و كار كنند. آن هايي كه سيستم هاي ETL را با استفاده از روشهاي غیر سیستماتیک پياده سازي كرده اند ، سطح جداسازی ODI را تحسين خواهند كرد . اين سطح به شما امكان مي دهد بدون اينكه زياد نگران جزئيات برنامه نويسي باشید ، بر توصيف آنچه مي خواهيد انجام دهيد ، تمركز كنيد.

نصب ODI آسان است . ODI براي آسان كردن منحني يادگيري شما ، يك محيط آزمايشي با Test Repository و يك Demonstration Repository حاوي اشيای پايگاه داده ها و فايل هاي از پيش تعريف شده نصب مي كند . يك اسكريپت Getting Started به من كمك كرد بفهمم كه چگونه با ODI كار كنم . دانش مقدماتي SQL نيز لازم است ، زيرا براي تعريف محدويت ها و تبديل ها بايد از دستورهاي SQL استفاده كرد . امكانات اعتبارسنجي داده ها ، مجموعه ای از داده هاي غير معتبر ايجاد مي كند كه مي توانيد آن ها را تصحيح كنيد و دوباره مورد استفاده قرار دهید . براي ايجاد Interface مي توانيد از كشيدن (drag) جدول های مبداء و مقصد از Model هاي خود استفاده كنيد.
به اين صورت ، ODI به شکل خودكار ، ستون هاي جدول های مبداء و مقصد را كه نام يكساني دارند به يكديگر نگاشت مي كند و اعتبار دستورهاي SQL شما را بر اساس سرور ، می سنجند . Expression Editor ، نمونه دستورهاي SQL را ارائه مي كند تا در نحو دستوري آن ها به شما كمك ، و تعريف تبديل داده ها را آسان كند.
برگه Business Rules به افرادي كه از داده ها آگاهي دارند ، امكان مي دهد تا تبديلات ستون ها را تعريف كنند . يك ايجاد كننده SQL ، میانجی را تكميل مي كند .

قسمت عمليات ODI ، انعطاف زيادي دارد . بعد از اينكه عناصر پروژه را ايجاد كرديد ، با كشيدن و رها كردن اين عناصر مي توانيد آن ها را در يك Package با يكديگر تركيب كنيد . تصوير سمت چپ ، يك پكيج كامل را نشان مي دهد كه دارای يك Procedure و چند Interface است كه ظرف چند دقيقه ايجاد شده اند. يك كليك راست ، اولين مرحله را آغاز مي كند . ابزارهاي OK و Non-OK به شما امكان مي دهند مشخص كنيد كه در صورت موفقيت يا عدم موفقيت ، چه مرحله اي اجرا شود . با Designer نیز می توانید يك پكيج را اجرا كنيد. براي پيگيري روند پيشرفت آن مي توانيد به میانجی كاربري Operator برويد . همان طور كه در شكل نشان داده شده است ، Operator به شما امكان مي دهد تا مراحلي را كه ODI براي هر Interface ايجاد كرده و نيز جزئيات خطاهائي را كه ممكن است رخ دهد ، مشاهده كنيد.
مرحله ی بعدي اين است كه Package را كامپايل ، و به يك Scenario تبديل كنيد. Scenario كه در يك Repository ذخيره مي شود ، واحد اجرایي در محيط توليد است . Scenario را مي توان براي اجرا زمان بندي كرد ، به Repository ديگری منتقل كرد ، از يك CLI عرضه شدهو يا در Context هاي ديگر اجرا کرد تا بتواند با مخزن داده هاي فيزيكي مختلف كار كند.

با استفاده از يك Repository دست نخورده ، من خود يك برنامه ايجاد كردم ،جای داده ها را از يك SQL Server تغییر دادم و يك نسخه ی تغيير يافته از آن را با سه جدول ، روي يك SQL Server ديگر ايجاد كردم . براي انجام اين كارها از مثال هاي اسكريپت دمو استفاده كردم . در پايان ، اين برنامه به خوبي اجرا شد.

همچنين ODI را به طور كامل و روي سيستم ويندوز 2003 كاملاً خالي و تازه نصب كردمو با استفاده از مستندات ، يك Master Repository روي SQL Server 2005 ايجاد كردم . بدون استفاده از مستندات ، نمي توان خيلي پيش رفت . البته با اينكه مستندات سودمند بودند ولی به جزئیات نپرداخته بودند . پيغام خطاهایي كه ODI ارائه مي دهد ، مفیدند ولي در هنگام مشكل ، راه حل هاي خوبي ارائه نمي دهند.به طور كلي ، مستند سازي پروژه هاي عظيم ، يك ضرورت است . ODI ، مستندات پروژه ها و اجزای آن ها را به فرمت PDF و در چند سطح از نظر جزئيات ايجاد مي كند . اين روش خوبي براي مستند سازي وضعيت پروژه در زمانی خاص است .

Overstock.com ، كاربر Synopsis ، نياز داشت كه یک سيستم گزارش گيري تقريباً بلادرنگ ايجاد كند تا جايگزين سيستم گزارش گيري برنامه هاي كاربردي فروش شود . Jack Garzella مدير نگهداري داده ها مي گويد:"يكي از دلايل اصلي كه ما Data conductor را به عنوان محصول اصلي خود انتخاب كرديم اين است كه داخل پايگاه داده كار مي كند و به سرور برنامه كاربردي[4] يا ديسك اضافه نياز ندارد ."

از جمله دلايل اصلي ديگر براي تصميم Overstock.com براي استفاده از اين محصول آن است كه كاربران جديد به راحتي مي توانند به يك پروژه نگاه كنند و ببينند كه ديگران چه كاري انجام داده اند . زيرا ODI ، كد SQL لازم را ايجاد مي كند . به علاوه ، ابزارهاي موجود در Designer ، از كنترل تغيير و تجزيه و تحليل تأثير[5] پشتيباني مي كنند و به شما نشان مي دهند كه جدول ها و Inetrface ها كجا به كار مي روند . Garzella مي گويد:"ما بيش از چهارصد كار داريم كه برخي روزانه هستند و برخي به صورت پيوسته اجرا مي شوند كه در مجموع 90 هزار بار در روز اجرا مي شوند. اين محيط ، يك محيط بسيار با ثبات است . "

حرف آخر

امكانات و قابليت های بسیاری وجود دارد كه در اينجا مورد بحث قرار نداده ام ، از جمله تغيير در دستیابی به داده ها ، يكپارچه سازي سرويس هاي وب و نظارت بر رخدادها . براي يادگيري کار با اين محصول نمي توانيد تنها در میانجی هاي كاربري آن كاوش كنيد . تعداد زيادي مستندات وجود دارد كه بايد با آن ها آشنا شويد . من ODI را براي پروژه ی انتقالی كه فقط يك بار انجام مي شود ، توصيه نمي كنم ، مگر اينكه افرادي داشته باشيد كه به ODI تسلط کامل داشته باشند . در مجموع ، اين محصول به همان شکل كه در مورد آن تبليغ شده است ، كار مي كند و من آن را به سازمان هایي كه نيازهاي مستمر دارند و فكر مي كنند كه نتايج دراز مدت ناشي از بهره وري ، ارزش سرمايه گذاري دارد ، توصيه مي كنم .

ODI V 10.1.3 براي پايگاه داده ی مقصد ، به ازاي هر پردازنده ، 12 هزار دلار و براي پايگاه داده ی مبداء ، به ازاي هر پردازنده ، چهار صد دلار قيمت دارد .(براي منبع داده هاي مبتني بر JMS (Java Message Service) يا فايلي ، مبلغي دريافت نمي شود.)

موافقان

به شما امكان مي دهد تا ساختار داده ها را مهندسي معكوس كنيد و در سطح "قوانين كسب و كار " از انتزاع كار كنيد تا به سرعت بتوانيد پروژه ها را ايجاد كنيد . <LI dir=rtl>معماري ، مستقيماً و با استفاده از فنآوري ویژه ی آن در سرور مبداء و مقصد ، داده ها را از سرورهاي مبداء به سرورهاي مقصد منتقل مي كند.
میانجی هاي كاربري گرافيكي و ارجاع مستقل( (cross-referencing به كاربران جديد كمك مي كنند تا به سرعتبتوانند پروژه ها را از جايي كه ديگران آن را رها كرده اند ، ادامه دهند .

مخالفان

تسلط واقعي بر اين محصول ممكن است مانند هر ابزار بزرگ دیگری ، چند ماه طول بكشد .



با اينكه مستندات آن سودمندند ، در كليه ی مراحل به شما كمك نمي كنند. بنابراين بکوشید در بخش آموزش سرمايه گذاري كنيد.
http://pnu-club.com/imported/2009/11/208.gif

نويسنده : John Green
مترجم : مهدی فلاح
ناشر : همكاران سيستم