هدف از پورتال ارائه شمايي يکسان از اطلاعات منابع مختلف به کاربر مي باشد، بنابراين نحوه برقراري ارتباط با اين منابع مختلف نامحدود ميباشد. فهرست زير، ارائهدهنده تکنولوژيهاي معمولي است که در پورتال وجود دارند. بعضي از آنها نظير web service اختياري است اما بعضي ديگر نظير پايگاه داده همواره به عنوان بخشي از پورتال مطرح است. - Application Server : اغلب Application Server تحت J2EE هستند و امکانات لازم جهت توسعه و ارائه پورتال را در اختيار قرار ميدهند. مثالهايي از اين دست عبارتند از:
- Apache Tomcat
- 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
اين محصولات مبتني بر جاوا هستند و از امکانات Applicationserver ها استفاده ميکنند. - 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 براي مستندات و Metadatarepository براي محتواي فايلها ميباشد.
- Virtual Card: در داخل Index و Metadatarepository به ازاي هر يک از مستندات و يا هر بخشي از آن يک virtual card وجود دارد. اين card حاوي آدرس فيزيکي هريک از مستندات و يا محتويات آنها مي باشد. علاوه براين card داراي مقادير چند فيلد از دادهنما (Metadata) مي باشد. در حقيقت card نماد مستندات در پورتال مي باشد.
- User Profiles: در پورتال به ازاي هر کاربر اطلاعاتي ذخيره ميگردد که براي شخصيسازي سايت مورد استفاده قرار ميگيرند. هر يک از portletهاي پورتال به اين اطلاعات دسترسي دارند و صفحات را بر حسب اين اطلاعات پيکربندي مي کنند تا متناسب با خواستهاي کاربر باشد. همچنين User profile شامل اطلاعات نحوه نمايش صفحه نخست پورتال و پورتلتهاي مورد علاقه کاربر مي باشد.
- Content Management System: اغلب پورتالهاي سازماني داراي بخشي تحت عنوان "مديريت محتوا" هستند. کاربراني که به اين بخش دسترسي دارند ميتوانند اطلاعات جديدي وارد پورتال کنند. پس از اين اطلاعات در شاخهاي متناسب در taxonomy پورتال قرار داده ميشود. شايان ذکر است که در اين بخش مي توان فايلهايي با فرمتهاي pdf و يا doc وارد کرد. همچنين، اين امکان وجود دارد که کاربران بتوانند صفحات html توليد و آن ها را ويرايش نمايند.
- EAI- Enterprise Application Integration: از گذشته سيستمهاي مختلفي در هر سازمان وجود داشته اند. هر يک از اين برنامهها به خودي خود، خوب عمل مي کنند و حتي پايگاههاي داده بسيار مفيدي ايجاد ميکنند، اما توانايي برقراري ارتباط با يکديگر را ندارند. با استفاده از EAI ميتوان تمامي سرويسها و برنامههاي کاربردي سازمان را در کنار يکديگر قرار داد تا به صورت يک سيستم واحد در اختيار کاربر قرار گيرد. اما با توجه به پيچيدگيهاي که هر بخش به خودي خود دارد (بخش هاي خريد، فروش، منابع انساني و...) اين کار بسيار مشکل و پرهزينه ميباشد.
با توجه اينکه هدف نهايي پورتال نمايش يکپارچه اطلاعات بدون توجه به منابع مختلف آن ميباشد، ميتوان با استفاده از 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: برقراري ارتباط و ارسال پيام بين قسمتهاي مختلف در وب نظير WebService ها و Application بايد داراي يک ساختار مشخص و استاندارد باشد. WSDL که مشترکا توسط IBM و Microsoft ايجاد شده با استفاده از يک ساختار مبتني بر XML اين امکان را به Web Service و Application ها ميدهد که به صورت استاندارد برنامه و يا تابعي را در خواست کنند. به عبارت ديگر WSDL يک واسط کاربري عمومي براي WebService ايجاد مي کند. به عنوان مثال با استفاده از WSDL ميتوان توابع يک WebService ، ورودي ها و خروجيهاي آن توابع، نحوه برقراري ارتباط با تابع، پيامهاي دريافت ورودي و ارسال خروجي را مشخص کرد. - SOAP : Simple Object Access Protocol يک استاندارد مبتني بر XML براي تبادل پيام در اينترنت است و با استفاده از HTTP صورت مي گيرد. با استفاده از اين استاندارد ميتوان الگوهاي پيام متفاوتي ارسال و دريافت کرد، اما يکي از مهمترين اين پيام ها، RPC- است که يک client تابع مورد نظر خود را به همراه پارامترهاي مورد نياز به يک نود ديگر در شبکه / اينترنت مي فرستد و اين نود به صورت سرور عمل کرده و درخواست client را پاسخ ميگويد. با توجه به اينکه SOAP مبتني بر XMl f,ni بوده و مستقل از Platform است؛ در حال حاضر به عنوان مهمترين پروتوکل فراخواني توابع WebService و دريافت نتيجه مطرح شده است.
ساختار يک پيام در SOAP داراي يک "envelope" است که داراي header و body است. header شامل اطلاعاتي نظير تاريخ ارسال پيام مي باشد. اين بخش اختياري است، اما در صورتي که از آن استفاده شود، بايد در ابتداي envelope قرار گيرد. Body شامل طلاعاتي که بايد انتقال داده شود. UDDI - Universal Description Discovery and Integration مشخصاتي است که براي پيدا کردن هر Web Service و فهرستي که Web Service ها اطلاعات خود را در آن منتشر کنند، مورد استفاده قرار ميگيرد. مي توان از UDDI براي دريافت اطلاعات توصيفي Web Service در قالب XML استفاده کرد. اين اطلاعات ارسالي ميتوانند در قالب WSDL باشند.
علاوه بر موارد بالا Web Service و Data Base به عنوان عناصر پورتال شناخته ميشوند. يکي از مهمترين مفاهيم پورتال، محتوا مي باشد. محتوا را ميتوان در حالت کلي هر شيء الکترونيکي، اعم از اسناد HTML/XML، تصاوير، صدا و هر چيزي که به صورت الکترونيکي ارائه شده باشد، دانست. اعمالي را که پورتال روي محتوا انجام ميدهد، ميتوان به پنج گروه کلي تقسيم بندي کرد: 1. گردآوري: جمعآوري اطلاعات و خدمات از منابع متعدد و توزيع شده به طريقي قابل توجه و معنيدار. 2. اختصاصي کردن: اين پروسه اي است که از طرف پورتال براي نمايش اطلاعات به کاربران بر اساس نيازهاي آنان اجرا ميشود. اين مقوله نيازمند وجود فراداده محتوا (يعني اطلاعاتي در مورد اطلاعات موجود در سايت) است که نقش هر کدام از کاربران را، به علاوه حقوق دسترسي آنها مشخص ميکند. 3. توصيه و معرفي کردن محتوا: هنگامي که يک نرمافزار، از اطلاعاتي که درباره شما ميداند، براي پيشنهاد کردن اطلاعات و يا خدمات جديد استفاده ميکند، آن را يک سيستم توصيه گر ميناميم. پورتال ميتواند بر اساس علاقمنديهاي يک کاربر و يا اطلاعاتي که در مورد او ميداند، مطالب مناسب را در اختيار او قرار دهد. اين مهم ميتواند حتي از طريق دنبال کردن موضوعات مورد علاقه کاربر صورت گيرد. 4. گلچين کردن و خلاصه کردن مطالب: پورتال ميتواند به صورت خودکار مطالب را خلاصه نموده، در اختيار کاربر قرار دهد. به عنوان مثال کلمات کليدي يک مقاله ميتواند براي جستجوي آن مورد استفاده قرار گيرد. پورتال يک سيستم کاربر محور است. به اين معني که تمام امکانات پورتال بر اين اساس پيشبيني شده است تا جوابگوي نيازهاي کاربران با سلايق، علاقمنديها، سنين و رده هاي کاري متفاوت باشد. امکاناتي مثل پست الکترونيکي، گفتگو، انجمنهاي اينترنتي و ... همه براي آن است که کاربران را به هر شکل ممکن به پورتال دعوت نمايد. درحاليکه يک وب سايت، يک سيستم موضوع محور است. درست است در هر وب سايت، امکاناتي براي کاربران مختلف پيش بيني مي شود، اما بايد به اين نکته توجه داشت که کاربري که با يک وب سايت کار مي کند بايد به شکلي به موضوع وب سايت مرتبط يا علاقمند باشد. و بالاخره اينکه، يکي از مهمترين جنبههاي تفاوت بين پورتال و وب سايت جنبه اقتصادي آن است. پورتالها عموماً براي کسب درآمد ساخته شده اند. بيشتر پورتالها درآمدهاي خود را از طريق تبليغات کسب مي نمايند. اما CMS يا همان سيستم مديريت محتوي همانطور که از اسم CMS پيداست براي مديريت محتواي سايت استفاده ميشود مثلا سايتي را فرض کنيد که هر روز يک نرمافزار در بخشهاي مختلف معرفي ميکند خوب اينجا به راحتي ميتوان از يک CMS استفاده کرد که بخشهاي مختلف را پشتيباني کند. اينجا شما ميتوانيد يه ساختار کلي براي اکثر بخشها در نظر بگيريد! اما پورتال ها عموما از يک مجموعه application ها يا برنامهها ساخته ميشوند که در آن کارهاي هر بخش جدا از ساير بخشها انجام ميشود! يعني نمي توانيد مثل حالت اول براي آن يه چهارچوب يا ساختار مشخص در نظر بگيريد مثلا سايت Yahoo! رو در نظر بگيريد داراي قسمتهاي مختلفي است که معمولا در قالب CMS قابل تعريف نيست! آنچه يک پورتال انجام ميدهد انجام ميدهدCMS آنچه يک |