تور لحظه آخری
امروز : شنبه ، 15 دی 1403    احادیث و روایات:  امام محمد باقر(ع):چیزی با چیزی نیامیخته است که بهتر از حلم با علم باشد.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

اجاره سند در شیراز

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

خرید از چین

خرید از چین

تجهیزات کافی شاپ

خرید سرور اچ پی ماهان شبکه

کاشت ابرو طبیعی و‌ سریع

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

دوره آموزش باریستا

مهاجرت به آلمان

بورس کارتریج پرینتر در تهران

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

تابلو برق

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

قیمت و خرید تخت برقی پزشکی

کلینیک زخم تهران

خرید بیت کوین

خرید شب یلدا

پرچم تشریفات با کیفیت بالا و قیمت ارزان

کاشت ابرو طبیعی

پرواز از نگاه دکتر ماکان آریا پارسا

پارتیشن شیشه ای اداری

اقامت یونان

خرید غذای گربه

رزرو هتل خارجی

تولید کننده تخت زیبایی

مشاوره تخصصی تولید محتوا

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

تور بالی نوروز 1404

سوالات لو رفته آیین نامه اصلی

کلینیک دندانپزشکی سعادت آباد

پی ال سی زیمنس

دکتر علی پرند فوق تخصص جراحی پلاستیک

تجهیزات و دستگاه های کلینیک زیبایی

 






آمار وبسایت

 تعداد کل بازدیدها : 1850005937




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مطالبی پیرامون Web-Service ها -


واضح آرشیو وب فارسی:سایت ریسک: مطالبی پیرامون Web-Service ها kiarash.M 07 دي 1386, 12:56سلام ميخوايم يعد از کلي بيکاري يه مقاله که شايد , فقط , شايد بشه بهش گفت حرفه اي تو اين فروم بزاريم شايد .........خدا رو چي ديدي !!:) ... .. . من فقط يکسری توضيحات کلی در مورد Web-Service ها بدم، چون اين مطلب اونقدر گسترده هست که به هيچ وجه نميشه اون رو در يک همچين سايتي کامل بيان کرد. اولين چيزی که در مورد Web-Service ها ميشه گفت اينکه Web-Service ها آينده وب و يا بهتر بگم شبکه هستن. در سيستم های قديمی و حتی بيشتر سيستم های فعلی اصول Client-Server Programming بر مبنای Request-Response از طريق Port ها و Protocol های مشخص از طريق Browser هاست. بدين ترتيب شما درخواست را از طريق Browser به سرور ارسال ميکنيد، Web-Server درخواست را گرفته و بسته به نياز به Application-Server آن را در اختيار Applicetion-Server قرار ميدهد، App-Server درخواست را Process کرده و از طريق Web-Server آن را به Client بر ميگرداند. مثال آن Request به صفحات ديناميک PHP، ColdFusion و يا ASP هست. Web-Server که در اينجا IIS و يا Apache ميباشد Request را در اختيار App-Server قرار ميدهد که پس از تفسير اين اطلاعات به فرمت HTML در اختيار Client قرار ميگيرد. اين سيستم جوابگوی بسياری از نياز ها نيست، برای مثال Request ها فقط از طريق Browser ها انجام ميشوند و يا اينکه همه اطلاعات بايد بر روي يک سرور و يا سرور هاي تحت اختيار موجود باشد که اين در عمل به هيچ وجه ممکن نيست، بسياری از برنامه ها تنها بر روي بعضی از سرور ها قرار دارند و امکان دسترسی يا نصب آنها بر روي سرور های ديگر نيست، به علاوه به علت مشکلات امنيتی نميتوان به همه اجازه دسترسی به Database ها را داد و از همه مهم تر برنامه هاي تحت سرور هر کدام در يک Platform و با زبانی خاص نوشته شده اند که امکان دسترسی به آن را غير ممکن ميسازد. با ايجاد وسايل ارتباطی گونگون مانند ها، گوشی هاي تلفن، تلويزيون هاي ديجيتال و... که قابليت اتصال به شبکه را دارا هستند و همچنين نياز Application هاي Desktop برای ارتباط با سرور اين نياز بيشتر احساس شد كه با شکل گيری Platform های بسيار قوی مانند J2EE در سمت سرور اصول web-service ها رقم زده شد. Web-Service ها برنامه هايي در سمت سرور هستند که ارتباط بين سرور های گوناگون و يا سرور و Client را از طريق استاندارد هاي خاص فراهم ميکنند. بنابرين مادامی که Request از استاندارد های Web-Service ها پيروی کند ميتواند با Web-Service ارتباط برقرار کند، در اينجا ديگه نوع وسيله ارتباطی مهم نيست، کليه وسايل ارتباطی که کامپيوتر هم يکی از آنهاست ملزم به رعايت استاندارد هاي Web-Service ها ميباشند. معروفترين استاندارد مورد استفاده كه در 90٪ Web-Service ها استفاده مي شود SOAP و يا Simple Object Access Protocol مي باشد كه پروتكلي براي انتقال Object ها بر روي شبكه مي باشد. استاندارد هاي قديمي تر مانند XML و يا جديد تر مانند CORBA نيز وجود دارند. ولي اينكه SOAP يا CORBA چي هست و چگونه كار ميكنه مبحث بسيار گسترده اي است. شايد برای بسياری از افراد فقط مهم اين باشه که با يک Web-Service چگونه کار کنند، براي هر Web-Service ميتوان يک فايل توضيح دهنده آن Web-Service که اصطلاحاً به آن (WSDL(Web Service Definition Language ميگويند ايجاد کرد. WSDL مانند SOAP از فرمت نوشتاري شبيه XML استفاده مي كند با اين تفاوت كه هر يك از node ها تعريف خاصي دارند. به طور كلي WSDL هيچ كاري انجام نمي دهد تنها مشخص مي كند كه Web-service به چه پارامتر هايي براي كاركرد نياز دارد و چه مقاديري را بر مي گرداند. نوع و فرمت Data و اينكه آيا براي كاركرد Web-Service نياز به password مي باشد درون WSDL مشخص شده است به علاوه درون فايل WSDL آدرس اصلي Web-Service موجود مي باشد. معمولا آدرس WSDL همان آدرس Web-Service است كه wsdl؟ در انتهاي آن قرار دارد. Web-Service ها را با بسياری از Application-Server های امروزی ميتوان ايجاد کرد، ولی اکثريت Web-Service ها بر روی 2 Platform قوی Java و Net. قرار دارند. مثلا از ColdFusion، JRun، WebLogic و بسياري ديگر ميتوان براي ايجاد Web-Service هاي مبتني بر Java استفاده كرد گرچه همواره امكان ايجاد Web-Service از طريق برنامه نويسي سطح پايين نيز هست ولي نياز به دانش زيادي در مورد شبكه و برنامه نويسي سرور دارد.كه در Java مثلا نيازمند EJB ها و Servlet ها و در مورد Net. نيازمند #C و يا ++VC است. با دانستن Web-Service ها مي توان Application هاي بسيار قدرتمندي ايجاد كرد. براي مثال كل نرم افزار Yahoo Messenger از Web-Service هاي ايجاد شده توسط Weblogic استفاده مي كند. يا مثلا WebService هايي براي گزارش وضعيت ترافيك راهها در آمريكا وجود دارد كه افراد مي توانند از طريق اتومبيل خود با آنها تماس بگيرند. همينطور Web-Service هايي براي وضعيت آب و هوا، بازار سهام و حتي WHOIS كه وضعيت يك Domain را بر مي گرداند. در زير آدرس WSDL چندين Web-Service مجاني براي دريافت وضعيت Doman را قرار داده ام. همه چيز گفتم جز اينكه چگونه در فلش با Web-Service ها مي توان ارتباط برقرار كرد اونم اگر لازم شد بعدا مي نويسم. فعلا خيلي خسته شدم ;) ------------------------------------------------------------------------------------------------------- دقيقا نيازي به استفاده از Web-Service ها نيست، اين امکان فقط در فلش برای ايجاد Application های reusable و با سرعت بالا قرار داده شده. همونطور که قبلا هم گفتم Web-Service ها از اساس با سيستم های قديمی تفاوت دارند، براي ارتباط با يک Web-Service ميتوان از Port هاي گوناگون و Protocol های بسيار بهينه شده اي استفاده کرد. فلش در نسخه 7 از 3 Protocol استاندارد TCP برای ارتباط با سرور استفاده ميکند: - HTTP - RTMP -SOAP اگر کسی از من بهترين امکان قرار داده شده در فلش نسخه 6 را بپرسد بدون شک جواب من NetConnection Class خواهد بود. NetConnection دنيايي جديدی را به روی فلش باز کرد، Flashcom، Remoting و WebService ها هر کدام قابليت هايي در اختيار فلش قرار ميدهند که به سختی ميتوان نمونه مشبهی براي آن پيدا کرد. برای مثال به راحتی امکان ارتباط بين فلش و ColdFusion، ASP، PHP، Java و ده ها محيط ديگر روي سرور با استفاده از Remoting وجود دارد. همچنين امکانات ارتباطات Real Time با سرور با استفاده از Flashcom و Breez فقط با استفاده از NetConnection Class وجود دارد. خوب برای تماس با يک Web-Service از هر 3 Protocol بالا ميتوان استفاده کرد: روش اول و شايد بهترين روش براي مشكل شما استفاده از Built-in SOAP Parser درون فلش 7 مي باشد. از آنجايي كه ايجاد و تفسير فايل هاي SOAP كار آساني نيست macromedia يك component به نام WebServiceConnector براي اين كار قرار داده است. براي استفاده از آن WebServiceConnector Component را درون برنامه drag كنيد و كد زير را براي ارتباط با WebService وارد كنيد. اين برنامه با WebService مجاني ارتباط برقرار مي كند و اطلاعات مربوط به majidonline.com را بر مي گرداند: import mx.data.components.WebServiceConnector; var wscListener:Object = new Object(); var wsConn:WebServiceConnector = new WebServiceConnector(); wscListener.result = function(evt:Object) { trace(evt.target.results); }; wscListener.status= function(evt:Object) { trace(evt.code); }; wsConn.addEventListener("result", wscListener); wsConn.addEventListener("status", wscListener); wsConn.WSDLURL = ""; wsConn.operation = "GetWhois"; wsConn.params = ["",0]; wsConn.trigger(); روش دوم استفاده از remoting مي باشد. remoting قوي ترين ابزار ارتباطي فلش و Application Server هاي مبتني بر Java و Net. مي باشد. شركت macromedia فقط از remoting مبتني بر Java و Net. توليد خود پشتيباني مي كند و AMFPHP و يا OpenAMF مورد تاييد اين شركت نيست. نكته قابل توجه در مورد remoting اين است كه remoting فقط براي ارتباط با WebService ها نيست. از remoting مي توان براي ارتباط با صفحات ديناميك cfm. , .asp و ... ارتباط با WebService ها، ارتباط با فايلهاي dll. ايجاد شده توسط ++VC يا Delphi و همچنين EJB ها و Servlet هاي توليد شده توسط Java استفاده كرد. remoting از پروتكلي به نام AMF با header هاي http استفاده مي كند و در واقع مدلي شبيه SOAP ولي بهينه شده براي فلش مي باشد بنابراين براي انتقال حجم زياد data خيلي سريع تر از روش قبلي مي باشد و نيازي به تفسير فايلهاي SOPA ندارد. براي استفاده از remoting در سمت سرور نياز به Application Server هاي ColdFusion يا JRun كه remoting را پشتيباني مي كنند مي باشد در غير اين صورت بايد remoting را به عنوان يك service جداگانه بر روي سرور نصب كرد. براي استفاده از remoting در سمت client بايد ابتدا class هاي مورد نياز remoting را در برنامه وارد كرد و سپس به remoting server كه gateway ناميده مي شود connect كرد. مثلا براي تست به gateway شركت macromedia متصل مي شويم كه براي تست قرار داده شده است. اين gateway فقط براي تست مي باشد و از آن نمي توان براي مصارف تجاري استفاده كرد. امكان block كردن يك domain هميشه براي macromedia هست. remoting gateway شركت macromedia بدين صورت است: gateway هاي ColdFusion و Java مانند بالا مي باشند. flashservices در اينجا Java application context و gateway هم servlet mapping مي باشد. براي ارتباط با remoting مراحل زير را انجام مي دهيم: -از منوي Window Other Pannels Common Libraries Remoting را انتخاب كرده و از library باز شده RemotingClasses را به درون برنامه drag مي كنيم. ( در صورتي كه remoting components بر روي سيستم نصب نكرده ايد آنرا از سايت macromedia در يافت كنيد) - كد هاي زير را براي ارتباط با سرور وارد كنيد: import mx.remoting.Service; import mx.remoting.PendingCall; import mx.rpc.RelayResponder; import mx.rpc.ResultEvent; import mx.rpc.FaultEvent function GetWhois_Result (res:ResultEvent):Void { trace(res.result); }; function GetWhois_Fault (fault:FaultEvent):Void { trace(fault.fault.description); }; var myResponder:RelayResponder = new RelayResponder(this,"GetWhois_Result","GetWhois_Fault"); var myService:Service = new Service("", null, "", null, myResponder ); var temp_pc:PendingCall = myService.GetWhois("",0); من شخصا هرگز از component هاي remoting شركت macromedia .. Adobe استفاده نمي كنم... البته جديدا !! :wink: و سعي مي كنم كلاس هاي مورد نياز را خودم بنويسم ولي در هر حال اگر كسي در مورد API برنامه بالا مشكلي داره در help remoting كاملا توضيح داده شده. - روش سوم استفاده از يك Application Server رابط مانند Flashcom و يا Breez براي ارتباط با WebService مي باشد. جالب اينكه Flashcom و Breez خود داراي Built-in Remoting مي باشند و مي توانند به Application Server هاي ديگر متصل شوند. اين روش كه به معماري چند لايه اي (Multi-Tier) معروف است بهترين و مطمئن ترين راه ايجاد application هايي است كه ارتباطات زيادي با WebService ها دارند و همچنين client ها نيازمند authorized شدن بر روي سرور هستند. به طور كلي معماري چند لايه اي به علت امنيت بسيار بالا و انعطاف پذيري زياد بهترين شيوه پياده سازي application هاي تحت سرور هستند ولي در عين حال نيازمند كد بيشتر و تجربه در شاخه هاي متفاوتي است و از حوصله مطلب خارج است. اميدوارم مفيد بوده باشه blognevis 07 خرداد 1387, 09:53ممنون جالب بود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 675]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن