الأحد، فبراير 07، 2010

Mashup

كلمة Mashup تعني المزج بين شيئين أو أكثر وتقديمهما بطريقة جديدة
1. ما هو الـ Web Mashup ؟
الـ Web Mashup هو الدمج بين محتويات أو خدمات مصدرين أو أكثر لإنتاج تطبيق جديد يقدم خدمة جديدة (برنامج أو موقع إنترنت). التطبيقات المركبة من الممكن أن تكون في مجالات عدة كالخرائط ومحركات البحث أو الصور... والكثير غيرها
مخطط يوضح المجالات الأكثر إقبالا حتى ديسمبر 2008


2. لماذا نستخدم الـ Mashup up
السبب الرئيسي الذي يجعلنا نلجأ إلى تقنية التطبيقات المركبة في إنشاء تطبيقات جديدة هو توفير الوقت والتكلفة وذلك باستخدام بيانات أو خدمات منشأة ومجهزة مسبقاً.
3. هل يمكن أن يكون الـ Mashup من مصدر واحد ؟
التطبيقات المركبة مستمدة من فكرة دمج البيانات من مصدرين أو أكثر. ومع ذلك من الممكن أن تكون من مصدر واحد فقط.
4. ما هي المصادر التي يمكننا استخدامها؟
مصادر التطبيقات المركبة عادة ما تكون مواقع إنترنت, ويمكن للمطور الحصول عليها بطرق مختلفة منها على سبيل المثال لا الحصر: (APIs) واجهات برمجة التطبيقات، Web Feeds (RSS or Atom) تغذيات الشبكة, Screen-Scraping كشط الشاشة.
(API) واجهات برمجة التطبيقات
هي مجموعة من الوظائف تتيح للبرنامج التحدث مباشرة مع البرامج الأخرى. هنا العديد من أنواع الـ APIs منها: APIs نظام التشغيل (Operating System APIs), APIs مواقع انترنت (Web Site APIs).
من الأمثلة البسيطة على الـ APIs: نظام التشغيل بالمئات من واجهات البرامج التطبيقية التي توفر الخدمات, تستخدم من قبل تطبيقات سطح المكتب. مثال آخر هو Java API التي تتيح للمبرمجين استخدام وظائف جاهزة ومكتوبة مسبقا بدلا من كتابتها من البداية.
ما هي واجهات برمجة التطبيقات للمواقع (Web Site APIs).
الـ Web Site APIs توفر الوصول لخدمات أو قواعد بيانات على الشبكة. هناك العديد من الـ APIs, في الجدول التالي ذكرت منها الأكثر شيوعا واستخداماً :
الـ APIs Web Site الأكثر شيوعا واستخداماً
التصنيف
الـ API
الوصف
الإعلان
Google AdSense
إدارة الإعلانات
الإجابات
Yahoo Answers
خدمة اجتماعية مرجعية
بحث المدونات
Technorati
بحث في المدونات
التدوين
FeedBurner
تتبع المدونات
الإنترنت المرجعيةdel.icio.us
تنظيم ومشاركة الإشارات المرجعية
التقويم
Google Calendar
تنظيم المواعيد
الرسم البياني
Google Chart
إنشاء الرسومات البيانية
المحادثات
MSN Messenger
المراسلة والمحادثة
المجتمع
Twitter
موقع اجتماعي
Facebook
شبكة اجتماعية
المشاريع
Salesforce.com
إدارة علاقات العملاء والخدمات
الأحداث
Eventful
استكشاف الأحداث
Feeds
Google Ajax Feeds
الوصول للـ RSS والـ feeds Atom بالـ JavaScript
الإنترنت
Amazon EC2
خدمة الاستضافة المرنة
hostip.info
البحث عن الـ IP
بحث الوظائف
indeed
البحث عن وظائف
الخرائط
Google Maps
خدمة الخرائط
Microsoft Virtual Earth
خدمة الخرائط
Yahoo Maps
خدمة الخرائط
إدارة الوسائط
BBC
قاعدة بيانات الوسائط المتعددة
المراسلة
411Sync
المراسلة بالـ SMS, WAP, Emailالموسيقى
Last.fm
إدارة وتشغيل الموسيقى
الأخبار
Digg
موقع اجتماعي لتصنيفات وروابط الأخبار
الدفع
PayPal
الدفع عبر الشبكة
الصور
Flickr
خدمة مشاركة الصور
البحث
Google Search
بحث على الشبكة محرك
Yahoo Search
بحث على الشبكة محرك
Windows Live Search
بحث على الشبكة محرك
الشحن
FedEx
شحن الطرود البريدي
التسوق
Amazon eCommerce
مبيعات على الشبك
eBay
مركز تسوق عبر الإنترنت
التخزين
Amazon S3
خدمة التخزين على الشبكة
الخدمات الهاتفية
Skype
التواصل عبر الإنترنت
الأدوات
Google Mashup Editor
أداة لإنشاء تطبيقات ممزوجة
حركات المرور
Yahoo Traffic
بيانات ومسارات الحرك
منافع
Google Translate
خدمة الترجمة اللغوية
الفيديو
YouTube
بحث ومشاركة الفيديو
الطقس
WeatherBug
خدمة توقعات الطقس
Widgets
Google Homepage
مجموعة أدوات
Web Feed (تغذيات الشبكة)


الـ Web Feed هو ملف غالباً ما يكون XML عناصره عبارة عن وصلة لنسخة أكبر. هذا النوع من المصادر جيد للتطبيقات المركبة التي تعتمد على محتوى متحدث باستمرار. الشكلين الأساسيين للـ Feed هما الـ RSS والـ Atom.
RSS
الـ RSS هو اختصار لـ Really Simple Syndication ويعني حرفيا (النشر السهل حقاً) وهو تطبيقات قائمة على شكل الـ XML تسمح للمستخدم بالتحقق من إذا ما كان للناشرين أي محتوى جديد ويستجيب لها بشكل مباشر.
4.1.2.2 Atom
الـ Atom أحدث من الـ RSS, ولكنه مشابه له. وهو معيار قياسي مقترح من فرقة هندسة الإنترنت (IETF). والذي يسعى للمحافظة على البيانات الوصفية أكثر من الـ RSS, كما أن وثائقه أكثر دقة.
Screen scraping
الـ Scraping يتم باستخدام أدوات لتحليل محتوى مكتوب للمستخدم وذلك لاستخراج بيانات تمثل المعلومات التي يمكن للمطورين استخدامها في البرمجة. الـ Screen Scraping لها عيبان, الأول هو أنها لا تحتوي على اتفاقية محددة بين المزود المستهلك. الثاني هو عدم إمكانية إعادة استعمال هذه البيانات.
4.1.3.1 لماذا تستخدم الـ Screen Scraping؟
السبب الرئيسي الذي دفع المطورين للجوء إلى الـ Screen Scraping كان الافتقار إلى الـ APIs (سابقا), أما الآن قد تستخدم هذه التقنية لأن بعض المصادر الغنية بالبيانات مثل Wikipedia لا توفر أي API حتى الآن. لهذا اضطر المطورون لاستخدام هذه التقنية في استخراج المعلومات من مثل هذه المواقع.
5. ما هي البروتوكولات التي نستخدمها؟
يمكن لمسترجع البيانات أن يتواصل مع المزود عبر عدة بروتوكولات مثل الـ REST و الـ SOAP.
البروتوكولات الأكثر استخداما حتى ديسمبر 2008
SOAP
الـ SOAP هو اختصار لـ Simple Object Access Protocol وهو تقنية تتركز على تبادل الرسائل. وهي مبنية على عنصرين أساسيين, أولهما هو إتباع شكل الـ XML في الرسائل, والثاني هو هيكل الرسائل بحيث تتكون من عنوان ومحتوى.
REST
الـ REST هو اختصار لـ Representational State Transfer وهو تقنية للتواصل عبر الشبكة باستخدام الـ HTTP والـ XML. وهو أكثر بساطة من الـ SOAP. ويدعم القليل من العمليات منها (POST, GET, PUT ,DELETE). وهو قابل للتطبيق على جميع أنواع المعلومات. يتم استرجاع المعلومات بواسطة الـ GET, كما أن تحديث المعلومات يتم بواسطة الـ PUT . . . وهكذا.
6. هل هناك أدوات تساعدنا في إنشاء التطبيقات المركبة؟
هناك العديد من محررات التطبيقات المركبة التي تساعد المستخدم في إنشاء أو تعديل أي تطبيق مركب. بعضها متوفر على الشبكة والبعض الآخر يتطلب تثبيته على جهاز الكمبيوتر.
Google Mashup Editor , Yahoo pipes , Microsoft Popfly , Open Mashup Studio , Liquid Apps هي من أشهر محررات التطبيقات المركبة.
7. أمثلة على التطبيقات المركبة
هناك الكثير من التطبيقات المركبة, يمكنك مشاهدة العديد منها في هذين الموقعين المتخصصين بالتطبيقات المركبة:
Programmable Web على الرابط
http://www.programmableweb.com/
Mashup Awards على الرابط
http://mashupawards.com/
هنا سنتحدث عن مثالين منها:
2lingual
الرابط:http://www.2lingual.com/
المصادر: Google AJAX Language وGoogle Ajax Search
الوصف: هذا الموقع يمكن المستخدم من البحث الثنائي اللغة على شبكة الإنترنت, بحيث يترجم هذا الموقع كلمة البحث لأكثر من 35 لغة مختلفة.
7.2 WhereAmI.At
الرابط: http://whereami.at/
المصادر: Flickr و Google Maps و Google Search و hostip.info
الوصف: باستطاعة هذا الموقع أن يخبرك بمكانك ويعرض صورا من Flickr لمدينك.
8. محرك بحث 4 في 1 (4 in 1 Search Engine Mashup)
إنشاء تطبيق مركب, في البداية عليك تحديد الفكرة, بعد ذلك البحث عن المصادر, وأخيراً ابدأ بالبرمجة. حتى أنه بإمكانك صنع تطبيق مركب دون برمجة عميقة بالاستعانة ببعض محررات التطبيقات المركبة مثل الـ Yahoo Pipes.
4 in 1 Search Engine Mashup
الرابط:http://pipes.yahoo.com/shahd/4in1_search_engine
المصادر: Yahoo Search و Yahoo Maps و Flickr و YouTube و Google Blogs Search
الوصف: بمحرك البحث هذا يمكنك البحث عن أي شيء والنتيجة ستكون بـأربعة أشكال مختلفة, فيديو من YouTube, مدونات من Google Blogs search, صور منFlickr وهذه الصور ستوضع في مكانها على خرائط من Yahoo Maps, نتائج منYahoo Search Engine. في الصورة التالية نرى لقطة لنتيجة بحث في 4 in 1 Search Engine
صوره لـ 4 in 1 Search Engine توضح تنوع النتائج