مقدمه
هدف از این مقاله، نگاهی به واژه پورتال و ارائه تعریف و چهارچوبی برای آن میباشد. برای ارائه این تعریف سعی شده از منابعی استفاده گردد که بیشترین اشتراک را داشته اند؛ زیرا که به واسطه تعاریف متعدد ارائه شده در سالهای اخیر، پورتال به یکی از پیچیده ترین لغات تبدیل شده است به طوری که برای هرفرد تعریف خاصی دارد و همین مساله سبب سوتفاهم های زیادی در تعریف آن شده است.
تعریف پورتال
تعریف اولیه پورتال بسیار ساده است: "مکانی (Hub) که ساده ترین کاربران اینترنت با رجوع به آن بتوانند به راحتی از سرویس های متداول در اینترنت بهره مند شوند و یا اطلاعات مورد نیاز خود در را بدست آورند". هریک از این کلمات دقیقا نشان دهنده ویژگی خاصی از پورتال هستند:
مکان: در اکثر موارد پورتال به عنوان یک وب سایت با ویژگی های خاص شناخته میشود. این وب سایت میتواند یک واسط (Interface) بین کاربران و تعدادی وب سایت زیر مجموعه پورتال باشد و یا اینکه به عنوان وب سایتی واسط، بین کاربران و اینترنت قرار گیرد. اما تعاریفی نیز وجود دارند که مستقیما از لغت وب سایت استفاده نکرده در این مورد سکوت میکنند: "پورتال دروازه ای است به سایتهای دیگر" و یا "پورتال نقطه ورود کاربران به اینترنت است".
ساده ترین کاربران: کاربرانی که به پورتال مراجعه میکنند، لزوما کاربران حرفه ای اینترنت نیستند. پورتال این توانایی را به کاربران میدهد که حتی کم تجربه ترین آنها بتواند از اطلاعات و سرویسهای ارائه شده استفاده کند. بر حسب نوع پورتال، کاربران آن نیز متفاوتند و شامل کاربران معمولی، مشتریان، تولیدکنندگان، کارمندان سازمان و... باشند.
سرویس های متداول در اینترنت: هر وب سایتی بر حسب نوع فعالیت کاری خود ارائه دهنده سرویس خاصی است. اما یک پورتال باید توانایی ارائه سرویس های عمومی باشد نظیر سرویس پست الکترونیک رایگان، انجمن،تالار گفتگو، اخبار، نقشه های مرتبط با موضوع پورتال، جستجو در سایتهای زیر مجموعه و اینترنت، شخصی سازی توسط کاربر و شخصی سازی توسط پورتال(Tailoring) باشد. در پورتالهای تجاری خدمات خرید و فروش آنلاین، ارائه کاتالوگ و سیستمهای پرداخت لحاظ میگردند.
اطلاعات مورد نیاز: یکی از ویژگی های پورتال دریافت اطلاعات از سایتهای دیگر (Content aggregation) است. پورتال تنها دریافت کننده اطلاعات است و آنها را به اشتراک میگذارد. به عبارت بهتر پورتال اطلاعاتی که در سایتها و پایگاههای مختلف وجود دارد را سازماندهی کرده و نمایش میدهد. در نظر داشته باشید که این اطلاعات باید استاندارد شده باشند.
بنابراین:
- پورتال، تولید کننده و مدیریت کننده اطلاعات نیست.
- پورتال، استاندارد کننده اطلاعات نیست.
- پورتال، یک وب سایت همه کاره نیست.
به عبارت دیگر پورتال چهارچوبی است که اطلاعات و سرویسهای منابع مختلف را کنار یکدیگر قرار داده و تحت یک طرح امنیتی ارائه میدهد. با استفاده از پورتال میتوان به یکپارچه سازی سیستمهای مجزا کمک کرده و کاربران را برای استفاده از خدمات موجود یاری داد.
این مقاله پورتال را در سه بخش مورد بررسی قرار میدهد:
ویژگی های پورتال
بر طبق نکاتی که در تعریف پورتال داده شد ویژگی های پورتال عبارتند از:
- ارائه شخصی سازی اطلاعات و کاربری های پورتال بر حسب نیاز کاربر توسط شخص یا خود پورتال. (PersonalizationوTailoring)
- ارائه سیستمهای جستجو و دایرکتوری به گونه ای که کاربر در کمترین زمان ممکن به اطلاعات دست یابد. (Search and Directory)
- ارائه امکان شخصی سازی برای تغییر ظاهر و ساختار پورتال به ازای هر کاربر (End user customization)
- ارائه ساز و کار مدیریت اطلاعات به افراد مسوول پورتال.(Content & Data Management)
- ارائه مکانیزمهایی به مدیران پورتال برای پاسخگویی به نیازهای افراد مختلف در سازمان.
- پشتیبانی برقراری ارتباط با منابع خارج از پورتال نظیر web service و سایتهای دیگر، برای دریافت اطلاعات و سرویسهای مورد نیاز.
- عدم وابستگی به پهنه ای (Platform) خاص به گونه ای که برای تمامی افراد با سیستم عاملهای مختلف و مرورگرهای مختلف قابل دسترس باشد(Cross-platform functionality). این مورد شامل پشتیبانی توسط سیستمهای PDA و موبایل نیز میگردد.
- Single sign-on: مکانیزمی که به وسیله آن کاربر تنها با یک بار ورود به سیستم به تمام سرویس ها و اطلاعات محدوده خود دسترسی داشته باشد.
- راهکارهای امنیتی به منظور تعیین سطوح دسترسی کاربران و نقش هر کاربر در سیستم. این سطح دسترسی شامل بازدیدکنندگان و مسوولین پورتال میشود.(Security)
- ساختار مشخصی برای ارائه اطلاعات به کاربر(Taxonomy)
- ساختار پیمایش ساده به گونه ای که کاربر با کمترین کلیک به مکان، سرویس و یا اطلاعات مورد نظرش دست یابد.( Browse / Navigate Documents)
- ایجاد امکان ارتباط کاربران با مسوولین پورتال و دیگر کاربران پورتال به صورت همزمان (“Chat”)یا غیر همزمان (“Forum”). (Collaboration)
- ارائه سرویس های متداول در اینترنت
- ارائه مکانیزمی که از طریق آن کاربران بتوانند در بخش های مختلف پورتال عضو شده و در صورت تغییر اطلاعات آن بخش و یا افزودن اطلاعات جدید، Email دریافت کنند.( Subscribe / What’s new)
- ارسال پیام به ازای رویدادهایی که برای کاربر مهم هستند. این سیستم با استفاده از email و یا خود پورتال پیامی برای مشتری ارسال کرده و به او میگوید که رویداد درخواست شده اتفاق افتاده است. به عنوان مثال کاربران میتوانند در بخش تنظیمات خود، برای دریافت پیامهای شخصی، دریافت یک وظیفه، دریافت یک خبر با عنوانی خاص "دریافت پیام " را درخواست کنند.(Alert)
- مدیریت گردش کار - تمامی فرآیندها دارای یک روند اجرایی هستند. این فرآیند به بخشهای مختلف تقسیم شده و با زمان بندی مشخص به افراد مختلف اختصاص داده و انجام میشوند. حداقل امکانی که به بهتر شدن کیفیت فرآیند کمک میکند، پیاده سازی آن بر روی کاغذ میباشد. اما آیا این امکان کافی است ؟ آیا بدین وسیله میتوان علاوه بر روند کار، نحوه انجام کار و زمان بندی آن را کنترل کرد ؟ یکی از امکانات پورتال ارائه مدیریت گردش کار است. (WorkflowManagement)
بر این اساس میتوان فرآیندی در سیستم تعریف کرد و با استفاده از امکانات " زمان بندی " و "فازبندی "، فرآیند را به وظایف کوچک تر تقسیم کرد؛ به گونه ای که هر وظیفه نه تنها نشان دهنده فرد انجام دهنده، بلکه نمایش دهنده زمان بندی انجام فرآیند نیز باشد. حال اگر بخش مدیریت گردش کار کنار سیستم Alert و یا ارسال پیام از تقویم شخصی قرار گیرد، میتواند کمک موثری در نظارت و پیش برد آن فرآیند نماید. در انتها توصیف گرافیکی فرآیند برای ایجاد کننده فرآیند و کسانی که در انجام فرآیند سهیم هستند، این حسن را دارد که بتوانند درک بهتری از آن داشته باشند و حتی پروسه را اصلاح کنند تا در زمان بندی ها صرفه جویی شود.
علاوه بر این، در صورتی که فرآیند انتخابی در طول زمان انجام خود احتیاج به بهره گیری از بخشهای مختلف پورتال داشته باشد، میتواند محک خوبی برای شناخت ارتباطات لازم ما بین بخشهای های پورتال باشد.
انواع پورتال
پورتال را میتوان بر حسب محتوا و مخاطب طبقه بندی کرد:
محتوا: "چه سیستم و اطلاعاتی توسط پورتال ارائه میشوند ؟"
- پورتالهای اطلاعاتی ( Information Portal )، پورتالهایی هستند که بیشتر اطلاعات استاتیک موجود در منابع مختلف را گردآوری کرده و نمایش میدهند.
- پورتالهای کاربردی ( Application Portal )، پورتالهایی هستند که بیشتر ارائه دهنده سرویس هستند.
مخاطب: " مخاطب پورتال چه کسی است ؟"
- پورتال افقی ( Horizontal Portal - Hortal ) ارائه دهنده اطلاعات و سرویسهای مختلفی است، و افراد مختلف را پاسخگو میباشد به عنوان مثال پورتالی که در آن خرید و فروش کالاهای مختلفی صورت میگیرد.
- پورتال عمودی ( Vertical Portal- Vortal ) بر روی عناوین خاص و یا سرویسهای خاص تمرکز دارد و پاسخگوی گروه خاصی میباشد. به عنوان مثال پورتالی که به خرید و فروش محصولات یک صنعت خاص و اخبار همان صنعت اختصاص مییابد. (شکل 1)
علاوه بر طبقه بندی محتوایی پورتال
، طبقه بندی دیگری وجود دارد که پورتال را به دوبخش پورتالهای تجاری (Commercial Portal) و پورتالهای سازمانی (Enterprise Portal) طبقه بندی میکند.
پورتالهای سازمانی ( B2E )
-
EIP یا Enterprise Information Portals
این پورتال که برای استفاده کارمندان و به منظور بهبود روند دسترسی افراد به اطلاعات، به اشتراک گذاشتن اطلاعات مختلف و کار بر روی اطلاعات طراحی میگردد. با استفاده از EIP میتوان پروسه ها و کنترل روند اجرای فرآیندهای سازمان، مخزن اطلاعات (Data Warehouse)، برنامه های کاربردی در سطح سازمان را یکپارچه کرد.
EIP امکان دسترسی کارمندان به انواع دیگر پورتال نظیر e-business Portal و پورتالهای شخصی را فراهم میآورد. به صورت خلاصه میتوان گفت که EIP، برنامه ای است که شرکتها را قادر میسازد تا به کاربران اجازه دهند تا به اطلاعات درون سازمانی آنها دسترسی داشته باشند، آنها را شخصی کنند و در انتها بر حسب اطلاعات موجود تصمیم درستی بگیرند.
- Business intelligence portals
Business intelligence شامل برنامه هایی است که برای جمع آوری، ذخیره سازی، تحلیل و دسترسی به اطلاعات بکار میروند وبه کاربران این اطلاعات اجازه میدهد که بر حسب این اطلاعات بهترین تصمیم گیری انجام دهند. همچنین این نوع پورتال، از انواع پورتالهای سازمانی است که به کاربران امکان میدهد تا به پورتال دسترسی داشته و گزارش هایی را وارد بانک اطلاعاتی سازمان نمایند. این اطلاعات -که کاملا به روز هستند - در تصمیم گیری های استفاده کنندگان تاثیر زیادی دارند. IBM و Oracle از ارائه دهندگان این نوع پورتال هستند.
-
Business area (Intranet) portals
پورتالهایی که تنها عملکردهای خاص درون سازمانی را شامل میشوند. Authoria وPeopleSoft در زمینه مدیریت منابع انسانی، SAP Portal و Oracle در زمینه ERP، Siebel در زمینه بازاریابی و فروش از ارائه دهندگان این نوع پورتال هستند. این نوع پورتال به کارمندان کمک میکند که به اطلاعات ذخیره شده در سازمان ذخیره شده اند دسترسی داشته باشند و از آن برای هدف تعیین شده استفاده کنند.
-
Role portals
این نوع پورتال سه نوع مدل تجاری (Business Model) را پشتیبانی میکند. بدین صورت که برای هریک از انواع B2E، B2C و B2B خدماتی ارائه میدهد.
این پورتال در محدوده B2E، به کارمندان اجازه میدهد تا به اطلاعات مورد نظر خود دسترسی داشته باشند. خروجی این نوع پورتال قابل شخصی سازی است.. در محدوده B2C به شرکت اجازه میدهد که با مشتریانش ارتباط برقرار کند. در این محدوده خدماتی نظیر سفارش دهی، صدور صورتحساب، پشتیبانی و پیگیری انجام فرایند به صورت الکترونیکی را فراهم میکند. در محدوده B2B این نوع پورتال به شرکت اجازه میدهد که نحوه انتقال اطلاعات، فعالیتهای تجاری و فرایندهای بین خود و تولید کنندگان، شرکت های همکار و توزیع کنندگان خود را کنترل نماید.
-
e-Business (Extranet) Portals
این نوع پورتال دارای سه زیر مجموعه است:
-
Extended enterprise portals
این نوع پورتال در محدوده B2B به شرکتهای همکار و تولید کننده اجازه میدهند که به Exteranet شرکت دیگر دسترسی داشته باشند. در این حالت خدماتی نظیر سفارش کالا، مطرح کردن درخواست مناقصه مورد استفاده قرار میگیرد. در محدوده B2C این نوع پورتال به مشتریان اجازه میدهد که به Extranet شرکت دسترسی داشته باشند و خدماتی نظیر سفارش کالا، صدور صورتحساب و خدمات مشتری دریافت نمایند.
-
e-Marketplace portals
این نوع پورتال به کاربران اجازه میدهند که کالاهای خود را برای خرید و یا فروش بر روی پورتال قرار دهند. این نوع پورتال ارتباط بین خریدار و فروشنده را برقرار کرده و با ارائه اخبار و اطلاعات مرتبط با موضوعی که در آن زمینه فعالیت میکند به کاربران سایت کمک میکند تا تصمیم گیری درستی داشته باشند.
-
ASP portals
این نوع پورتال، در محدوده B2B بوده و به کاربران خود اجازه میدهد تا خدمات و کالاهای موجود را اجاره نمایند. نمونه های این نوع پورتال عبارتند از:
- Portera’s ServicePort
- Salesforce.com
- SAP’s MySAP.com
- Oracle’s oraclesmallbusiness.com
- Personal (WAP) portals
-
Pervasive portals or mobility portals
این نوع پورتال که در تلفنهای همراه، PDA، ومحصولاتی از این قبیل وجود دارد، به عنوان یک سرویس مهم برای کارمندان و مشتریان مطرح میشود. زیرا که این دو گروه با استفاده از این نوع پورتال میتوانند اطلاعات لازم جهت خدمات دهی، کالا، قیمت، تخفیف، وضعیت پرداختها و وضعیت حمل و نقل کالا را کنترل نمایند..
- Public or Mega (Internet) portals
سازمانهایی که در این گروه قرار میگیرند، بر روی جذب تعداد زیاد مخاطب آنلاین کار میکنند. این نوع پورتال شامل دو زیر گروه میگردد:
- پورتالهای تجاری (پورتالهای شخصی)
پورتالهایی که اطلاعات را به صورت عمومی در اختیار افراد قرار میدهند. این پورتالها اغلب دارای سرویس های رایگان بوده و هزینه های خود را از طریق تبلیغات بدست میآورند. مخاطب این پورتال عام مردم هستند که برای ارتباط با دیگران و همچنین بهرمندی از اطلاعات اینترنت از پورتال استفاده میکنند. نکته جالب در مورد این نوع پورتال این است که اغلب موتور های جستجوی قدیمی با افزودن سرویسهایی در گروه پورتالهای تجاری قرار میگیرند.
اطلاعاتی که اغلب در این نوع پورتال ارائه میشود شامل قیمت سهام، گزارش هواشناسی، اخبار، فهرست برنامه های تلویزیونی میباشد.برنامه هایی که در اختیار کاربران این سیستمها قرار میگیرد شامل تقویم، بازی های آنلاین، دایرکتوری های آدرس و تلفن افراد و برنامه ریز الکترونیک برای یادداشت کارهای روزانه و تنظیم ملاقات میباشد.
عناوینی که در اینگونه پورتال ارائه میشوند، اغلب شامل مطالبی است که عام مردم به آن علاقه مندند: نظیر ورزش، سرگرمی، داد و ستد، علوم و آموزش.
امکانات شخصی سازی در این گونه پورتال شامل، اطلاعات و ظاهر سایت میباشد. نکته ای که در مورد این نوع پورتال مهم است این است که تمامی افراد به اطلاعات ذکر شده دسترسی دارند، حتی اگر به سیستم وارد نشده باشند. پورتالهایی نظیر Yahoo، MSN و AOL در این گروه قرار میگیرند. تعداد این نوع پورتال در حال کاهش است.
-
Industrial portals, vertical portals or vortals
تعداد این نوع پورتال به سرعت در حال افزایش است. این نوع پورتال بر روی مخاطبین با علایق خاص نظیر کامپیوتر، خرده فروشی، خدمات بانکی و بیمه تمرکز دارد.مثال این نوع پورتال ivillage.com برای خانواده ها میباشد.
اجزای فنی پورتال
هدف از پورتال ارائه شمایی یکسان از اطلاعات منابع مختلف به کاربر میباشد، بنابراین نحوه برقراری ارتباط با این منابع مختلف نامحدود میباشد. فهرست زیر، ارائه دهنده تکنولوژی های معمولی است که در پورتال وجوددارند. بعضی از آنها نظیر web service اختیاری است اما بعضی دیگر نظیر پایگاه داده همواره به عنوان بخشی از پورتال مطرح است.
-
Application Server: اغلب Application Server تحت J2EE هستند و امکانات لازم جهت توسعه و ارائه پورتال را در اختیار قرار میدهند. مثالهایی از این دست عبارتند از:
- iPlanet
- BEA WebLogic
- IBM Websphere
- Oracle 9iAS
- OracleAS Portal 10g Release 1
- Sybase Application Server
-
اغلب تولید کنندگان Application Server، سیستمهای مربوط به پورتال را تحت عنوان "Portal add-ons" به تولیدات اصلی خود اضافه کرده اند و محصولاتی نظیر:
- IBM Websphere Portal Server
- Oracle Portal
- BEA Portal
- Sybase Enterprise Portal
-
را وارد بازار کرده اند اما محصولات دیگری نیز در بازار وجود دارند که صرفا برای ایجاد پورتال مورد استفاده قرار میگیرند نظیر:
- Plumtree
- Epicentric
- Corechange
این محصولات مبتنی بر جاوا هستند و از امکانات Application server ها استفاده میکنند:
- Taxonomy:Taxonomy روندی برای دسته بندی مجموعه ای از داده ها است. در صورتی که ایده آل فکر کنیم، با استفاده از Taxonomy میتوان تعدادی فایل و مستندات را گرفته و آن را تبدیل به یک منبع اطلاعاتی کنیم، به گونه ای که قابل مرور، جستجو و پیمایش توسط کاربر باشد.Taxonomy را میتوان با ساختار folder ها مقایسه کرد. با این تفاوت که برای دسته بندی داده ها قوانینی دارد. همچنین داده نما ( Metadata ) در این دسته بندی نقشی اساسی ایفا میکند. به عبارت ساده تر محیط پورتال باید دارای ساختار منظمی باشد. این ساختار که در اغلب موارد شامل تعداد زیادی پیوند میباشد به کاربر کمک میکند که اطلاعات را سریعتر پیدا کند. این نوع سازمان دهی اطلاعات Taxonomy نامیده میشود.
- Crawler:فرآیندی است که به طور خودکار و طبق یک برنامه از پیش تعیین شده، بخش هایی از سایت و یا سایتهایی را میخواند. به عنوان مثال میتوان crawler را به گونه ای تنظیم کرد که صفحات خاصی از یک وب سایت را بخواند تا در صورت تغییر فایل آن را نمایه سازی کرده و اطلاعات taxonomy را به روز کند.
- Metadata repository، حاوی داده نما ( Metadata ) مربوط به داده های پورتال و ساختار آنها میباشد. این metadata شامل metadata مرتبط با Taxonomy و تک تک مستندات است.
- Portlet: پورتلت (Portlet) یک web component است که به عنوان جز سازنده پورتال شناخته میشود. در واقع پورتلت رابط بین کاربر و منبع اطلاعات ( Datasource ) است که درخواست کاربر را دریافت کرده و بر حسب آن صفحه درخواست شده را نمایش میدهد. اطلاعاتی که توسط پورتلت ساخته میشود، fragment نامیده میشود که به یکی از زبانهای HTML، XHTML ویا WML نوشته شده است. Fragment هر پورتلت برای پورتلت های دیگر قابل استفاده میشود. برای پورتلت عناوین دیگری نظیر Gadgets, Blocks, Web Modules, Web Parts , وجود دارد.
- Categorization Engine: مسوولیت مرتب سازی اطلاعات و Toxonomy را بر عهده دارد. این مرتب سازی ممکن است بر اساس ابرداده ( Medadata ) موجود در مستندات، قوانین مشخص شده برای مرتب سازی، محتویات مستندات، فیلترها و ضوابط جستجو باشد.
- Filter: فیلترها اغلب برای مشخص کردن فایلهای درون فولدرهای Taxonomy و یا نتایج جستجو، مورد استفاده قرار میگیرند. فیلتر ممکن است مبتنی بر کلمه باشد نظیر "تمامی متنهایی که در آن لغت IBM وجود دارد "، یا مبتنی بر موضوع باشد نظیر "اگر این متن شبیه متن دیگری است " و مبتنی بر یک قاعده باشد "اگر فیلد Client دارای مقدار IBM بود"
- Index: مجموعه ای از اطلاعات که به درخواست و بازیابی اطلاعات سرعت میبخشد. همواره Index ترکیبی از full-text index برای مستندات و Metadata repository برای محتوای فایلها میباشد.
- Virtual Card: در داخل Index و Metadata repository به ازای هر یک از مستندات و یا هر بخشی از آن یک virtual card وجود دارد. این card حاوی آدرس فیزیکی هریک از مستندات و یا محتویات آنها میباشد. علاوه براین card دارای مقادیر چند فیلد از داده نما ( Metadata ) میباشد. در حقیقت card نماد مستندات در پورتال میباشد.
- User Profiles: در پورتال به ازای هر کاربر اطلاعاتی ذخیره میگردد که برای شخصی سازی سایت مورد استفاده قرار میگرند. هر یک از portlet های پورتال به این اطلاعات دسترسی دارند و صفحات را بر حسب این اطلاعات پیکربندی میکنند تا متناسب با اخواستهای کاربر باشد. همچنین User profile شامل اطلاعات نحوه نمایش صفحه نخست پورتال و پورتلت های مورد علاقه کاربر میباشد.
- Content Management System: اغلب پورتالهای سازمانی دارای بخشی تحت عنوان "مدیریت محتوا" هستند. کاربرانی که به این بخش دسترسی دارند میتوانند اطلاعات جدیدی وارد پورتال کنند. پس از این اطلاعات در شاخه ای متناسب در taxonomy پورتال قرار داده میشود. شایان ذکر است که در این بخش میتوان فایلهایی با فرمت های pdf و یا doc وارد کرد. همچنین، این امکان وجود دارد که کاربران بتوانند صفحات html تولید و آن ها را ویرایش نمایند.
- EAI- Enterprise Application Integration: از گذشته سیستمهای مختلفی در هر سازمان وجود داشته اند. هر یک از این برنامه ها به خودی خود، خوب عمل میکنند و حتی پایگاههای داده بسیار مفیدی ایجاد میکنند، اما توانایی برقراری ارتباط با یکدیگر را ندارند. با استفاده از EAI میتوان تمامی سرویسها و برنامه های کاربردی سازمان را در کنار یکدیگر قرار داد تا به صورت یک سیستم واحد در اختیار کاربر قرار گیرد. اما با توجه به پیچیدگی های که هر بخش به خودی خود دارد (بخش های خرید، فروش، منابع انسانی و...) این کار بسیار مشکل و پر هزینه میباشد.
- Development Standards and Protocols: شناخت استاندارد هایی که برای پورتال مورد استفاده قرار میگیرند، از مهمترین گامهای توسعه یک پورتال است.
- XML: زبانی که برای نمایش اغلب داده ها میتوان استفاده کرد. این زبان شباهت زیادی به HTML دارد با این تفاوت که XML برای انتقال داده ها مورد استفاده قرار میگیرد، اما HTML صرفا به مرورگر(Browser) کاربر میگوید که صفحه درخواست شده را چگونه نمایش دهد. در حالی که در اغلب موارد XML به خودی خود با نحوه نمایش داده ها ارتباطی نداشته و برنامه که XML را دریافت میکند با استفاده از XSLT و XSL داده ها را نمایش میدهد.
- Extensible Stylesheet Language Transformation-XSL, XSLT: فایلهای XML شامل داده هایی هستند که از نظر کاربر مفهوم خاصی ندارند، XSL حاوی قوانینی برای تبدیل این داده های به قالبی است که برای کاربر قابل نمایش باشد. این قالب ممکن HTML برای مرورگرهای وب، WML برای ابزارهای بی سیم و یا PDF باشد که مناسب برای چاپ باشد.
Web Services Description Language - WSDL: برقراری ارتباط و ارسال پیام بین قسمتهای مختلف در وب نظیر Web Service ها و Application باید دارای یک ساختار مشخص و استاندارد باشد. WSDL که مشترکا توسط IBM و Microsoft ایجاد شده با استفاده از یک ساختار مبتنی بر XML این امکان را به Web Service و Application ها میدهد که به صورت استاندارد برنامه و یا تابعی را در خواست کنند. به عبارت دیگر WSDL یک واسط کاربری عمومی برای Web Service ایجاد میکند. به عنوان مثال با استفاده از WSDL میتوان توابع یک Web Service، ورودی ها و خروجی های آن توابع، نحوه برقراری ارتباط با تابع، پیامهای دریافت ورودی و ارسال خروجی را مشخص کرد.
استفاده از WSDL برای پورتال بدین جهت است که پورتال غالبا باید اطلاعات و سرویس های مورد نیاز خود را از Webs Service های مختلفی دریافت کرده و در یک قالب نمایش دهد.
A WSDL document defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types which are abstract collections of operations.
The concrete protocol and data format specifications for a particular port type constitutes a reusable binding. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Hence, a WSDL document uses the following elements in the definition of network services:
Types– a container for data type definitions using some type system (such as XSD).
Message– an abstract, typed definition of the data being communicated.
Operation– an abstract description of an action supported by the service.
Port Type–an abstract set of operations supported by one or more endpoints.
Binding– a concrete protocol and data format specification for a particular port type.
Port– a single endpoint defined as a combination of a binding and a network address.
Service– a collection of related endpoints.
مثال زیر اطلاعات مربوط به Web Service، StockQuote را نمایش میدهد. این Web Service تنها یک Operation با نام GetLastTradePrice را پشتیبانی میکند، این تابع وروری با نام tickerSymbol (که نام شرکت است) با فرمت string را دریافت میکند و در جواب price را در فرمت float به برنامه در خواست کننده، میدهد:
<?xml version="1.0"?>
<definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl"
xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>
<message name="GetLastTradePriceInput">
<part name="body"
element="xsd1:TradePriceRequest"/>
</message> <message name="GetLastTradePriceOutput">
<part name="body"
element="xsd1:TradePrice"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<documentation>My first
service</documentation>
<port name="StockQuotePort" binding="tns:StockQuoteBinding">
<soap:address
location="http://example.com/stockquote"/>
</port>
</service>
</definitions>
|
SOAP:Simple Object Access Protocol یک استاندارد مبتنی بر XML برای تبادل پیام در اینترنت است و با استفاده از HTTP صورت میگیرد. با استفاده از این استاندارد میتوان الگوهای پیام متفاوتی ارسال و دریافت کرد، اما یکی از مهمترین این پیام ها، RPC- است که یک client تابع مورد نظر خود را به همراه پارامترهای مورد نیاز به یک نود دیگر در شبکه / اینترنت میفرستد و این نود به صورت سرور عمل کرده و درخواست client را پاسخ میگوید. با توجه به اینکه SOAP مبتنی بر XMl بوده و مستقل از Platform است؛ در حال حاضر به عنوان مهمترین پروتوکل فراخوانی توابع Web Service و دریافت نتیجه مطرح شده است.
ساختار یک پیام در SOAP دارای یک "envelope" است که دارای header و body است. header شامل اطلاعاتی نظیر تاریخ ارسال پیام میباشد. این بخش اختیاری است، اما در صورتی که از آن استفاده شود، باید در ابتدای envelope قرار گیرد. Body شامل طلاعاتی که باید انتقال داده شود.
مثال: نمونه درخواستی که client برای Web Service انبار میفرستد و در خواست اطلاعات کالایی را میکند:
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetails
xmlns="http://warehouse.example.com/ws">
<productID>827635</productID>
</getProductDetails>
</soap:Body>
</soap:Envelope>
|
پاسخ Web Service به درخواست client:
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetailsResponse
xmlns="http://warehouse.example.com/ws">
<getProductDetailsResult>
<productName>Toptimate 3-Piece Set</productName>
<productID>827635</productID>
<description>3-Piece luggage set. Black Polyester.</description>
<price>96.50</price>
<inStock>true</inStock>
</getProductDetailsResult>
</getProductDetailsResponse>
</soap:Body>
</soap:Envelope>
|
UDDI - Universal Description Discovery and Integration مشخصاتی است که برای پیدا کردن هر Web Service و فهرستی که Web Service ها اطلاعات خود را در آن منتشر کنند، مورد استفاده قرار میگیرد. میتوان از UDDI برای دریافت اطلاعات توصیفی Web Service در قالب XML استفاده کرد. این اطلاعات ارسالی میتوانند در قالب WSDL باشند.
علاوه بر موارد بالا Web Service و Data Base به عنوان عناصر پورتال شناخته میشوند.
vice و Data Base به عنوان عناصر پورتال شناخته میشوند.