مشاهده نسخه کامل
: تفاوت یک صفحه وب با وب سرویس
قله بلند
15-11-2008, 21:54
با عرض سلامموضوع خودم رو مورد جستجو قرار دادم ولی مطلبی پیدا نکردم.امیدوارم راه درستی رو برای پرسیدن این موضوع انتحاب کرده باشم. سوال:1-تفاوت web page با وب سرویس در چیست؟2-web page چه کمبودهایی داشت که وب سرویس متولد شد؟3-مطلبی وجود داره که به صورت کامل این مطلب رو باز کرده باشه؟من مطالب زیادی راجع به وب سرویس جمع آوری کردم و حتی ترجمه کردم. اینکه گفته می شه، انسان با صفحات وب کار می کنه ولی نرم افزار ها با وب سرویس ها. اینکه برای ارائه خدمتی در وب و از طریق صفحات وب باید کلی کد نوشته بشه تا واسط گرافیکی کاربر ساخته بشه، از طرفی کلی باید هزینه داد به یک شرکت Isp تا کار ما رو در اینترنت پشتیبانی بکنه ولی برای وب سرویس ها اینگونه نیست.ولی بازهم قانع نشدم .واقعاً چه دلایل دیگه ای وجود داره که اینقدر از وب سرویسها حمایت می کنن؟ممنونم از راهنمایی شما
سلام
جواب واضح است...
انسان با صفحات وب کار می کنه ولی نرم افزار ها با وب سرویس ها
کافی است کمی فکر کنید !
اگر من بخواهم سایتی داشته باشم و چیزی برای رویت کاربران بگذارم از صفحات وب استفاده میکنم.
ولی اگر بخواهم خدماتی به برنامه های بدهم، وب سرویس راه اندازی میکنم.
مثالی میزنم
اگر شما بخواهید یک برنامه چت گسترده و بزرگ با پشتیبانی یک سایت ارائه دهید (مثل نمونه برنامه yahoo) انگاه بهترین یکی از اولین گزینه ها وب سرویسها خواهند بود.
یعنی یک یک وب سرویس روی سایت راه اندازی میکنید و آنگاه exe هایی برای اتصال و تعامل با این وب سرویس طراحی میکنید و برای دانلود عرضه میکنید.
exe شما (و نه کاربران! نکته همین جا است!) از سرتاسر دنیا به وب سرویس مورد نظر وصل میشوند و اطلاعات را تحویل داده و تحویل میگیرند.
یا اگر بخواهم یک دیکشنری آنلاین عرضه کنم که کاربران بیایند و در محل مورد نظر لغت را تایپ کنند و جواب را بگیرند، از صفحات وب استفاده میکنم.
ولی اگر بخواهم دیکشنری من به سایتها و exe های دیگر خدمات دهد و کاربر درون برنامه exe که دارد لغت را تایپ کند و برنامه به سایت وصل شود و معنتی را بگیرد و نمایش دهد از وب سرویسها استفاده میکنم.
موفق باشید.
قله بلند
24-11-2008, 01:08
سلام. واقعاً ذوق زده شدم. خدایش فکر نمی کردم دیگه کسی این تاپیک رو بخونه. چه برسه به اینکه بهش پاسخ هم بده.در ناامیدی بسی امید است!ولی اگه بگم هنوز نفهمیدم یعنی هنوز لقمه جویده نشده ، باز هم جوابم رو می دید و مثال دیگری برام می زنید.
سلام
شاید بتوان گفت مثل تفاوت پمپ بنزین است با رستوران!
به نظر شما صفحات وب کافی هستند و نیازی به وب سرویسها نیست! درست است؟
آیا همین سایت را به عنوان نمونه بارزی از صفحات وب قبول دارید؟
آیا شما در این سایت راحت هستید؟
میتوانید به راحتی محتویات تاپیک و صفحات تاپیک و پست های مورد نظر را بخوانید و متوجه شوید؟
آیا همین سایت چیزی از صفحات وب را برای انسان ها کم گذاشته؟
خوب حالا یک لطف کنید!
یک برنامه exe بنویسید که عدد تاپیک را بگیرد (مثلاً عدد همین تاپیک شما 276267 است) و لیست "نام افراد" و "تاریخ درج مطلب" در آن تاپیک را به صورت یک جدول ساده در خروجی نشان دهد.
مثلاً وقتی عدد 276267 را گرفت این را نشان دهد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به همین سادگی!
(البته توجه هم داشته باشید که خیلی از تاپیک ها بیش از یک صفحه دارند و مجهز به paging هستند)
باید ساده باشد، فقط دو فیلد خواسته ام و تازه سایت چندان هم ajax ندارد که کار را سخت تر کند!
به نظرتان چقدر طول میکشد تا همچین exe بسازید؟
آیا exe تان را میشود برای forum های مختلف دیگر هم استفاده کرد؟ (انسان ها که برایشان فرقی ندارد)
آیا اگر در همین سایت استایل کمی تغییر کند برنامه شما باز هم کار خواهد کرد؟ (انسان ها که برایشان فرقی ندارد)
آیا ... ؟
؟
؟
اگر این سایت "وب سرویسی" مخصوص این کار را ساپروت میکرد میتوانست به راحتی یک integer بگیرد و جواب را به صورت یک آرایه باز پس دهد.
یک انسان خروجی html را بهتر متوجه میشود و هرچه رنگ بندی بهتری داشته باشد، بیشتر خوشش می آید.
ولی یک برنامه داده خالصی مثل آرایه را ترجیح میدهد!
موفق باشید.
قله بلند
25-11-2008, 14:21
سلام
شاید بتوان گفت مثل تفاوت پمپ بنزین است با رستوران!
به نظر شما صفحات وب کافی هستند و نیازی به وب سرویسها نیست! درست است؟
آیا همین سایت را به عنوان نمونه بارزی از صفحات وب قبول دارید؟
آیا شما در این سایت راحت هستید؟
میتوانید به راحتی محتویات تاپیک و صفحات تاپیک و پست های مورد نظر را بخوانید و متوجه شوید؟
آیا همین سایت چیزی از صفحات وب را برای انسان ها کم گذاشته؟
خوب حالا یک لطف کنید!
یک برنامه exe بنویسید که عدد تاپیک را بگیرد (مثلاً عدد همین تاپیک شما 276267 است) و لیست "نام افراد" و "تاریخ درج مطلب" در آن تاپیک را به صورت یک جدول ساده در خروجی نشان دهد.
مثلاً وقتی عدد 276267 را گرفت این را نشان دهد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به همین سادگی!
(البته توجه هم داشته باشید که خیلی از تاپیک ها بیش از یک صفحه دارند و مجهز به paging هستند)
باید ساده باشد، فقط دو فیلد خواسته ام و تازه سایت چندان هم ajax ندارد که کار را سخت تر کند!
به نظرتان چقدر طول میکشد تا همچین exe بسازید؟
آیا exe تان را میشود برای forum های مختلف دیگر هم استفاده کرد؟ (انسان ها که برایشان فرقی ندارد)
آیا اگر در همین سایت استایل کمی تغییر کند برنامه شما باز هم کار خواهد کرد؟ (انسان ها که برایشان فرقی ندارد)
آیا ... ؟
؟
؟
اگر این سایت "وب سرویسی" مخصوص این کار را ساپروت میکرد میتوانست به راحتی یک integer بگیرد و جواب را به صورت یک آرایه باز پس دهد.
یک انسان خروجی html را بهتر متوجه میشود و هرچه رنگ بندی بهتری داشته باشد، بیشتر خوشش می آید.
ولی یک برنامه داده خالصی مثل آرایه را ترجیح میدهد!
موفق باشید.
سلام.ممنونم. ذوق و شوقم برای فهمیدن بیشتر شد.کمک کنید تا من هم بتوانم مثل شما این تفاوت ها به خوبی درک کنم.
1-شاید بتوان گفت مثل تفاوت پمپ بنزین است با رستوران
-1-چرا پمپ بنزین و رستوران؟
-به نظر شما صفحات وب کافی هستند و نیازی به وب سرویسها نیست! درست است؟
-سوال من هم دقیقا همینه. اگر همه چیز وب سرویس باشه و برای این وب سرویس ها ، صفحه وب بسازیم کاری عبث انجام داده ایم؟
-آیا همین سایت را به عنوان نمونه بارزی از صفحات وب قبول دارید؟آیا شما در این سایت راحت هستید؟میتوانید به راحتی محتویات تاپیک و صفحات تاپیک و پست های مورد نظر را بخوانید و متوجه شوید؟آیا همین سایت چیزی از صفحات وب را برای انسان ها کم گذاشته؟
به نظرم سایت خوبیه. شاید اگر روزی در سایت دیگری ثبت نام کردم که اختلاف هایی با این سایت داشت(از همه نظر) و آن را مطلوب تر از این سایت دیدم، جواب سوال را عوض کنم.
به نظرتان چقدر طول میکشد تا همچین exe بسازید؟
فقط می دونم که هر دو باید به پایگاه داده سایت اصلی دسترسی داشته باشن تا بتونند محتویات را بخونند و جواب رو برگدونن. به هر حال نوشتن تابعی برای وب سرویس هم کم زحمت نیست ولی همین زمان برای یک صفحه وب چقدر طول می کشد ، نمی دانم چون روی ساخت این صفحات کار نکرده ام.
آیا exe تان را میشود برای forum های مختلف دیگر هم استفاده کرد؟ (انسان ها که برایشان فرقی ندارد)آیا اگر در همین سایت استایل کمی تغییر کند برنامه شما باز هم کار خواهد کرد؟ (انسان ها که برایشان فرقی ندارد)آیا ... ؟؟؟
اگه وب سرویس باشه که به قول شما یک عدد صحیحی رو می گیره و فقط تو پایگاه می گرده(البته اگه قالب پایگاه ها یکی باشن) و کاری به رنگ و حالت صفحه نداره ولی چون من د رمورد ساخت یک صفحه وب اطلاعی ندارم ، نمی تونم مقایسه کنم.
خواهش می کنم ، بحث را ادامه دهید ، واقعاً در حال جداب شدن است. خیلی دوست دارم با تمام وجودم این تفاوت هار را درک کنم. از زبان کسی که این تفاوت ها را لمس کرده است.
یه سوال فنی، من اصلا نمی تونم از نقل چند تایی استفاده کنم و با کلی زحمت این سطرها رو از هم جدا کردم تا خانا باشه.
سلام
-چرا پمپ بنزین و رستوران؟
یکی ماشین ها را تغذیه میکند و دیگری ادم ها! هیچ کدام هم قرار نیست جای همدیگر را بگیرند.
وب سرویسها ورودی و خروجی متغییر و مناسب نرم افزارهای برنامه نویسی دارند، int32 یا DateTime یا byte یا DataSet و یا آرایه و...
در اصل کد شما کمترین بار تبدیلی را دارد و دیتاها به صورت حاضر و آماده از شما گرفته شده و به شما تحویل میشوند.
تا حالا از dll استفاده کردید؟
dll ها شامل یکسری کد آماده برای پردازش اعمال پیچیده هستند که شما میتوانید در dll های دیگر و یا exe های دیگر آنها را استفاده کنید و در انجام کار مورد نظر از اعمال کدنویسی شده این dll ها استفاده کنید.
در دنیای وب شاید به بیان دیگر بتوان گفت، وب سرویس ها همین dll ها هستند که کد و امکانات مشخصی برای کار مشخصی دارند و صفحات وب (exe های دنیای وب که با کاربران در تعامل هستند!) میتوانند از این dll های دنیای وب در پردازش کارهای خود استفاده کنند!!!!!
حال این وب سرویس dll وار منتشر شده در اینترنت میتواند کدی برای محاسبه فاکتوریل یا جمع دو عدد بزرگ داشته باشد، یا مختصات کره جهانی را بگیرد و تصویر آنجا را پس دهد یا لغت را بگیرد و معنی را برگرداند، یا یک عمل خاص در دیتابیس انجام دهد و...
=====
سوال من هم دقیقا همینه. اگر همه چیز وب سرویس باشه و برای این وب سرویس ها ، صفحه وب بسازیم کاری عبث انجام داده ایم؟
نه زیاد.
-آیا همین سایت را به عنوان نمونه بارزی از صفحات وب قبول دارید؟آیا شما در این سایت راحت هستید؟میتوانید به راحتی محتویات تاپیک و صفحات تاپیک و پست های مورد نظر را بخوانید و متوجه شوید؟آیا همین سایت چیزی از صفحات وب را برای انسان ها کم گذاشته؟
به نظرم سایت خوبیه. شاید اگر روزی در سایت دیگری ثبت نام کردم که اختلاف هایی با این سایت داشت(از همه نظر) و آن را مطلوب تر از این سایت دیدم، جواب سوال را عوض کنم.
منظورم تمجید از این سایت نبود!
بلکه میخواستم متوجه شوید که خواندن اطلاعات از یک صفحه وب (که خود شما به عنوان صفحه وب قبولش دارید) برای یک برنامه ساده نیست!
فقط می دونم که هر دو باید به پایگاه داده سایت اصلی دسترسی داشته باشن تا بتونند محتویات را بخونند و جواب رو برگدونن
اینجوری که نه صفحه وب میشود و نه وب سرویس! این دسترسی مستقیم به بانک اطلاعاتی است! خسته نباشید!
این الآن یک صفحه وب است با قوانین html ای که دارید میبینید، میتوانید سورس اصلی را میتوانید با فرمان View->Source یا فرمان های مشابه دیگر در مرورگرهای مختلف مشاهده کنید، یا SaveAsHtml بزنید و با Notepad تماشا کنید.
این که خواهد دید خروجی یک صفحه وب است (که شما پیش از این آنرا به عنوان یک صفحه وب کامل و جامع قبول کردید) حالا اگر میگویید صفحات وب با وب سرویسها تفاوتی ندارند، از این همین خروجی صفحه وب استفاده کنید و برنامه ای که گفتم را بنویسید؟!!
نظرتون چیه؟ بازهم اعتقاد دارید برنامه های نرم افزاری به همان سادگی انسان ها میتوانند با صفحات وب کار کننند؟؟
به هر حال نوشتن تابعی برای وب سرویس هم کم زحمت نیستیعنی از مورد بالایی سخت تر است؟
=====
یه سوال فنی، من اصلا نمی تونم از نقل چند تایی استفاده کنم و با کلی زحمت این سطرها رو از هم جدا کردم تا خانا باشه
جملاتی مورد نظر را بین تگ های [ Q U O T E ] و [ / Q U O T E ] قراردهید و یا از آیکون [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] استفاده کنید.
قله بلند
27-11-2008, 00:06
سلام
چقدر قشنگ صحبت می کنید
ای کاش می شد ، روی در رو بایستم ، مثل یک شاگر رو به روی یک استاد
فقط یه خواهشی از شما دارم. در مقابل سوال های من همچنان صبور باشید تا قفل مغزم باز بشه
بعضی وقتها حتی انسان ها با جملات ساده هم گیج می شن
یه خواهش دیگه. من می خوام یه تحقیقاتی راجع به صفحه وب داشته باشم. اگر یک یا دو روز به من اجازه بدید ، من یه کارهایی رو انجام بدم ، ببینم می تونم این گفته ها را با خوندن این مطالب توی ذهنم نقاشی کنم
شاید اون وقت این صحبت های قشنگ رو بهتر بتونم درک کنم
خدایش شرمنده ام که چرا اینقدر وقتتون رو می گیرم ولی موضوع برایم خیلی جالبه و واقعاً می خوام اون را با سلول های بدنم درک کنم
قله بلند
27-11-2008, 00:08
سلام
چقدر قشنگ صحبت می کنید
ای کاش می شد ، روی در رو بایستم ، مثل یک شاگر رو به روی یک استاد
فقط یه خواهشی از شما دارم. در مقابل سوال های من همچنان صبور باشید تا قفل مغزم باز بشه
بعضی وقتها حتی انسان ها با جملات ساده هم گیج می شن
یه خواهش دیگه. من می خوام یه تحقیقاتی راجع به صفحه وب داشته باشم. اگر یک یا دو روز به من اجازه بدید ، من یه کارهایی رو انجام بدم ، ببینم می تونم این گفته ها را با خوندن این مطالب توی ذهنم نقاشی کنم
شاید اون وقت این صحبت های قشنگ رو بهتر بتونم درک کنم
خدایش شرمنده ام که چرا اینقدر وقتتون رو می گیرم ولی موضوع برایم خیلی جالبه و واقعاً می خوام اون را با سلول های بدنم درک کنم
شما می تونید منابع دیگری به من معرفی کنید؟ من می خوام تعریفی رو که ویکی پدیای انگلیسی از صفحه وب کرده رو مورد مطالعه قرار بدم.
قله بلند
27-11-2008, 00:22
ببخشید. نمی دونم چرا این پست دو بار تکرا شده!
قله بلند
27-11-2008, 02:08
با سلام
من قصد دارم ، گام به گام ، صفحه وب را با وب سرویس مقایسه کنم.
اولین موردی که در رابطه با صفحه وب به کار می رود ، استفاده از HTML برای نمایش داده هاست.در صورتی که وب سرویس ها از XML برای انتقال داده و به برای نمایش داده استفاده می کنند.
تفاوت XML و HTML در چیست؟
XMLچيست؟
XML برگرفته شده از كلمات Extensible Markup Language است.
XML يك Markup Language مانند HTML است.
tag های XML از قبل تعريف شده نيستند، شما خودتان بايد آنها را تعريف كنيد.
XML از يك (Document Type Definition) DTD برای شرح اطلاعات استفاده ميكند.
XML با يك DTD طراحی ميشود تا خود-توصيف باشد.
تفاوت اصلی بين XML و HTML
XML برای حمل اطلاعات طراحی شده است.
XML يك جايگزين برای HTML نيست.
XML و HTML برای هدفهای مختلفی طراحی شده اند.
HTML برای نمايش اطلاعات و XML برای شرح و حمل و نقل اطلاعات است.
XML كاری انجام نميدهد!
شايد اين موضوع برای درك كردن كمی مشكل باشد، اما XML كاری انجام نميدهد. XML ساخته نشده تا كاری انجام دهد. XML به عنوان يك راه برای سازماندهی كردن، ذخيره كردن و فرستادن اطلاعات ساخته شده است.
XML يك مكمل برای HTML
XML يك جايگزين برای HTML نيست.
XML ميتواند اطلاعات را از HTML جدا كند
با XML اطلاعات شما در خارج از HTML ذخيره ميشود.
هنگامی كه HTML برای نمايش اطلاعات استفاده ميشود، اطلاعات در درون HTML ذخيره شده است.
با XML اطلاعات ميتواند در فايلهای جدای XML ذخيره شود. در اين روش شما ميتوانيد HTML را به عنوان لايه ای روی اطلاعات و برای نمايش آنها فرض كنيد و مطمئن باشيد كه تغيير در اطلاعات لايه های زيرين احتياج به تغيير HTML شما نخواهد داشت.
XML برای توزيع اطلاعات
با XML ، فايل های متنی می توانند برای توزيع اطلاعات استفاده گردند .در اينجا منظور از توزيع، انتقال و پخش اطلاعات از يك نوع سيستم به سيستمهای نوع ديگر است.
زمانی كه اطلاعات در فايل های متنی ذخيره شود، XML يك روش مستقل از سخت افزار و نرم افزار برای انتقال و توزيع اطلاعات فراهم می كند. اين روش باعث ميشود كه ايجاد و ساخت اطلاعاتی كه برنامه های كاربردی مختلف بتوانند با آن كار كنند بسيار آسان بشود. همچنين توسعه و ارتقاء يك سيستم به سيستم عامل، سرور، برنامه كاربردی و جستجوگرهای جديد را نيز آسانتر مينمايد.
این قسمت از مطالب را از آدرس زیر گرفتم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با وجود تمام قابلیتهایی كه برای HTML برشمردیم این زبان دارای نقاط ضعفی است كه رشد آن را با محدودیت مواجه كرده است. HTML به مجموعهای با بیش از 100 برچسب تبدیل شده كه آن را تبدیل به زبانی پیچیده كرده است. تركیب برچسبها تقریباً نامحدودند و بعضاً تركیبهایی وجود دارند كه حاصل نمایش آنها بر روی مرورگرهای مختلف متفاوت است. علاوه بر این علیرغم 100 برچسب موجود در این زبان، نیازهای امروزه برچسبهای بیشتری را برای كاربردهای مختلف طلب میكنند.
كاربردهای تجارت الكترونیك به برچسبهایی برای توصیف كالا، قیمت ، نام، آدرس و غیره احتیاج دارند. موتورهای جستجو به برچسبهای دقیقتر برای كلمات كلیدی و توضیحات دادهها احتیاج دارند و كاربردهای امنیتی نیاز به برچسبهایی برای امضاهای دیجیتالی دارند. به طور كلی تمامی كاربردها برای نیازهای خود احتیاج به برچسبهای خاصی دارند كه توسط HTML پشتیبانی نمیشود.
جدا از كاربردهایی كه احتیاج به اضافهكردن برچسبهای جدید به HTML دارند، كاربردهایی نیز هستند كه تعداد برچسب كمتر HTML یكی از نیازهای اساسی آنها میباشد. برطبق پیشبینی كنسرسیوم وب در سال 2003و 75% استفاده كنندگان از وب از وسیلهای غیر از كامپیوتر شخصی مانند تلفن همراه برای دسترسی به وب استفاده خواهند كرد. توان پردازش این وسایل خیلی كمتر از یك كامپیوتر شخصی میباشد و بنابراین چنین وسایلی قدرت پردازش زبان پیچیدهای مانند HTML فعلی را ندارند چه رسد به این كه برای پشتیبانی كاربردهای خاص برچسبهای بیشتری هم به آن اضافه شده باشد.
مشكل دیگر HTML این است كه برای قالببندی یك صفحه به تعداد زیادی برچسب احتیاج است و در اكثر موارد صفحاتی مشاهده می شود كه حجم علائم نشانهگذاری در آنها بیشتر از محتوای آنهاست كه همین امر سرعت دستیابی و نمایش این صفحات را به طور قابل ملاحظهای كم میكند.
زبان xml در سال 1997 توسط كنسرسیوم وب برای رفع محدودیتهای موجود در HTML و اضافه كردن قابلیتهای جدید بوجود آمد. تفاوت اصلی XML با HTML در این است كه XML سعی دارد دادهها را طوری نشانهگذاری كند كه معنای آنها حفظ شود و در حالیكه HTML دادهها را طوری نشانهگذاری میكند كه قابل نمایش برای مرورگرها باشد. در واقع تاكید XML بر روی معنای دادههاست در حالیكه تاكید HTML بر نمایش داده میباشد. به منظور حفظ معنای دادهها XML ابر داده(MetaData ) توصیف كننده دادهها را نیز همراه آنها ذخیره میكند.
این قسمت رو هم از آدرس زیر گرفتم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا نتیجه هایی رو که خودم گرفتم:
پس می شه به این نتیجه رسید که وب سرویسی که از XML استفاده می کنه ، کارش نمایش اطلاعات نیست، کارش رد و بدل کردن اطلاعات است و چون از این زبان استفاده می کنه ، سخت افزار و نرم افزار و ... براش علی السویه است. کاری به آدما نداره ، کار به این داره که چه جوری غذای مورد نیاز آدما رو تو دهن صفحه های وب بریزه. یعنی فقط غذا رو می یاره، حالا چه جوری غذا می خواد سرو بشه ، به صفحه وب مربوطه! صفحه وب حمال اطلاعات نیست ، این کار به عهده وب سرویس گذاشته شده!HTML هم می تونه داده رو ذخیره کنه ولی در این حالت ، داده از نمایشش جدا نیست و اگر قرار باشه داده تغییر کنه ، نمایشش هم باید تغییر کنه. وب سرویس نباید نقش صفحه وب رو بازی کنه ، اگر این کار رو بکنه دیگه هر چی گفته شده راجع بهش سود و فایده ای نداره!
درست گفتم؟
خیلی کیف کردم. کم کم داره معما حل می شه!
اما یه سوال:
صفحه وب می تونه داده رو ذخیره کنه واگر داده(مثلا متن یک پست مثل ویرایشی که ما برای پستهامون انجام می دهیم) تغییر کنه ، باید متنی که بین تگ پاراگراف قرار داره ، دستی تغییر کنه. تا اینجا درسته؟ ولی اگر XML باشه ، مگه نباید داده تغییر کنه ؟ آین تغییر چگونه است؟ دینامیک است یا باید دستی تغییر کنه؟
به نظر شما حالا دنبال چی بگردم؟
سلام !
با اجازه می خواهم این قضیه رو از یه زاویه دیگه نشون بدم .
همانطور که احتمالا همه می دونند برای تولید یک نرم افزار ، در یک معماری درست ، از معماری چند لایه استفاده می کنند .
متداول ترین و شاید بهترین این معماری ها ، معماری سه لایه ای برنامه می باشد .
در معماری سه لایه ، این سه لایه را داریم : لایه کاربر یا presentation layer که همون واسط گرافیکی کاربر است و کاربر نهایی یا end user با این واسط گرافیکی کار می کنه و همه تعاملاتش با برنامه از طریق همین لایه انجام می گیرد.
لایه بعدی ، لایه منطق برنامه یا هسته برنامه یا همان Bussiness Layer است که کارش همون کنترل برنامه است و اصولا تمام علتی که یه برنامه نوشته میشه ، در این قسمت است .
لایه بعدی لایه داده ها می باشد یا همون Data Layer است که کار ذخیره و بازیابی اطلاعات برنامه رو دارد و در یک برنامه تحت وب معمولا یک دیتابیس است .
حالا با توجه به توضیحات بالا یه web page توی لایه اول یا همون لایه واسط گرافیکی کاربر قرار دارد در حالیکه یک web service در لایه دوم قرار می گیرد و اصولا این دو ، دو تا چیز مجزا هستند که هر کدوم کار خودش رو انجام میده و جایگاه خودش رو داره .
امیدوارم موفق باشی .
سلام
شما میتوانید تا هر وقت خواستید به بحث ادامه بدهید.
شما می تونید منابع دیگری به من معرفی کنید؟
منابع خود من اغلب کتابهای برنامه نویسی است (vb.net و c#.net و asp.net و ado.net و...) و یک سایت اینترنتی مشخص فارسی نیست که لینک بدم.
=====
پست آخر شما را میتوان به سه بخش تقسیم کرد
بخش اول از یک سایت
بخش دوم از یک سایت دیگر
بخش سوم هم نتیجه گیری شما.
به نظر من مطالب بخش اول بهتر بیان شده بودند ولی مطالب بخش دوم چندان خوب بیان نشده بود و احتمالاً این تفکر اشتباه را تدائی میکند که xml نسخه جدید و جایگزین html است که همانطور که در بخش اول نوشتید، اینها دو هدف مختلف را نشانه روی کرده اند.
پس می شه به این نتیجه رسید که وب سرویسی که از XML استفاده می کنه ، کارش نمایش اطلاعات نیست، کارش رد و بدل کردن اطلاعات است
بله تقریباً صحیح است.
فرمت xml در واقع یک فرمت خاص متنی جهت ذخیره اطلاعات است، شاید بتوان ان را مشابه یک فایل mdb (نرم افزار access) و یا mdf (نرم افزار sqlserver) به حساب آورد، با این تفاوت که xml در یک notepad ساده قابل دیدن و ویرایش است و چون متنی است، میتواند یک استاندارد خوب در سیستم های سخت افزاری و سیستم عامل و نرم افزارهای مختلف باشد.
همانطور که برای خواندن و نوشتن اطلاعات در mdb شما مجبور به دسترسی مستقیم به فایل نیستید و به راحتی از کلاسس ها و کامپونت های آماده استفاده میکنید.
در xml هم با وجودی که امکان دسترسی مستقیم وجود دارد، ولی parser های قدرتمند و سریعی برایش ساخته شده که بار پرداش و کدنویسی را از دوش برنامه شما برمیدارد.
دات نت هم در جاهای مختلف ان را به خوبی ساپورت میکند.
مثلاً DataSet از جمله پیچیده ترین و سنگین و کاملترین اشیای موجود در دات نت است که عملاً میتوانید یک بانک اطلاعاتی کامل در RAM باشد و میتواند شامل چندین جدول باشد که هر جدول فیلدهای خاص خود را داشته باشد و حاوی تعداد زیادی سطر باشد...
همچین شی پیچیده و کاملی با یک دستور به xml سریالی میشود.
("datasetname.WriteXml("c:\file.xml
منظورم این است که پشتیبانی خوبی از تبدیلات به/از xml وجود دارد.
علاوه بر این که در دات نت در مبحث وب سرویسها شما حتی نیاز به همین دستور هم ندارید!
در واقع دیتاها دور از چشم شما به xml تبدیل شده و ارسال میشوند و در مقصد از xml به دیتاهای اولیه مجداً تبدیل شده و دیتای خالص تحویل کد شما میشود.
نتیجتا شما خیلی راحت میتوانید با وب سرویس ها اطلاعات را بین دو نرم افزار جابه جا کنید، و در دات نت این کار را بدون درگیر xml شدن هم انجام میدهد.
=====
صفحه وب می تونه داده رو ذخیره کنه واگر داده(مثلا متن یک پست مثل ویرایشی که ما برای پستهامون انجام می دهیم) تغییر کنه ، باید متنی که بین تگ پاراگراف قرار داره ، دستی تغییر کنه. تا اینجا درسته؟ ولی اگر XML باشه ، مگه نباید داده تغییر کنه ؟ آین تغییر چگونه است؟ دینامیک است یا باید دستی تغییر کنه؟
فکر کنم درست متوجه نشدید.
همانطور که قبلاً گفتم کلاسس های و امکانات اماده خوبی برای خواندن و نوشتن و ویرایش xml وجود دارد
ولی ...
دیتاهای اصلی همچنان در بانک های اطلاعاتی رابطه ای نگه داشته میشوند (قولهایی مثل sqlserver و oracle و...)
در اکثر موارد دیتای اصلی در بانک اطلاعاتی است و در همان جا فیلد مورد نظر ویرایش میشود.
در واقع کدهای برنامه نویسی در اکثر اوقات به دیتابیس اصلی وصل میشوند و بسته به شرایط html یا xml مورد نیاز را در آن لحظه خاص و با پارامترهای آن لحظه از دیتابیس اصلی تولید میکنند.
همین سایت اطلاعاتش در بانک mysql ذخیره و ویرایش میشود و هیچ دیتای استاتیک html ندارد!
یعنی وقتی من درخواستی به صفحه کد showthread.php با پارامتر t=276267 میدهم، این کد میرود و از دیتابیس دیتاها را استخراج کرده و انها و خروجی فرمت html را در همان لحظه و مخصوص درخواست من تولید میکند و برای دانلود به مرورگر من میفرستد و در نهایت مرورگر آنها را به صورت تصویری نمایش میدهد.
هر تغییری در هر لحظه فقط روی بانک اطلاعاتی اصلی اعمال میشود که نه html است و نه xml.
در واقع در خیلی از موارد فایل فیزیکی html و xml اصلاً وجود ندارد!
مثل یک نوار نقاله کارخانه (stream) کد یک سر xml را تولید کرده و حتی در حین تولید خط به خط میتواند ارسال کند و کد سر دیگر xml را دریافت کرده و پردازش و تبدیل میکند و در خیلی از موارد شاید اصلاً چیزی روی هارد قرار نگیرد.
البته فقط برای دیتاهای کم حجم مثل تنطیمات یک ذخیره کار نهایی یک برنامه (save و open) برای نگه داری اطلاعات هم از xml استفاده میشود.
مثلاً فایل web.config که شامل تنظیمات محیط asp.net است.
یا فایل sln و vbproj و csproj خود vs که شامل تنظیمات و محل نسبی فایلهای کد است و... و... و... و... و...
و...
xml و html را میتوان تغییر داد ولی برای دیتاهای پرحجم و با ساختار مشخص و جدولی و بانکی باید از بانک های اطلاعاتی رابطه ای استفاده کرد.
به نظر شما حالا دنبال چی بگردم؟
من نمیدانم! اگر چیزی گم کرده اید، پیشنهاد میکنم کمی فکر کنید تا یادتان بیاید !!!!
از شوخی گذشته، نمیدانم منظورتان دقیقاً چیست؟ شاید بد نباشد کمی عملاً کد نویسی کنید!
قله بلند
30-11-2008, 01:38
با عرض سلام و تشکر فراوان
یه web page توی لایه اول یا همون لایه واسط گرافیکی کاربر قرار دارد در حالیکه یک web service در لایه دوم قرار می گیرد .
.
مطلبی که جناب ra928 به ان اشاره کردند نیز جالب است. می شه بیشتر توضیح دهید.
بله. در فرستادن مثلاً جدولی از پایگاه داده برای مشتری ، سرویس گیرنده با دستور زیر به راحتی می تواند محتوای جدول ارسالی را روی دیتا گرید یا دیتاگرید ویو ببیند:
datagrid1.datasource=mywebservice.show();
شما به سریال شدن XML اشاره کرده اید. در نقل و انتقال ساده و بدون فشرده سازی ، از این کدهای پیچیده استفاده نمی شود .من در مبحث فشرده سازی از این کدهای پیچیده ، هم در سمت سرویس دهنده و هم سمت مشتری ، دیده ام. شاید برای کارهایی از این دست مجبور به استفاده از کدهای پیچیده تر نیاز است.
"در واقع در خیلی از موارد فایل فیزیکی html و xml اصلاً وجود ندارد!"
منظورتان را نفهمیدم. پس نمایشی که ما از html می بینیم وجود ندارد؟!
"نمیدانم منظورتان دقیقاً چیست؟ شاید بد نباشد کمی عملاً کد نویسی کنید!"
راستش منظورم این بود :
حالا که فرق میان HTML و XML را تاحدودی دانستم ، راجع به کدام قسمت از وب سرویسها تحققات کنم تا جنبه دیگری از این تفاوت ها آشکار شود؟ مسلماً همه تفاوت های بین این دو فقط در تفاوت HTML و XML نباید باشد؟!
اگر قدم به قدم پیش روی کنم حتما زودتر به جواب خواهم رسید
باز هم از شما تشکر می کنم.
سلام
در واقع در خیلی از موارد فایل فیزیکی html و xml اصلاً وجود ندارد!
منظورتان را نفهمیدم. پس نمایشی که ما از html می بینیم وجود ندارد؟!
خروجی صفحات php و asp و aspx و... که در مرورگر خود مشاهده میکنید html است ولی یک stream است و فایل html ای در سرور وجود ندارد.
در واقع کد سمت سرور با توجه به درخواست شما، در همان لحظه و برای شما html را ساخته و ارسال میکند.
در واقع کد سرور و اطلاعات اصلی دیتابیس واقعاً بر روی هارد قرار دارد و با درخواست شما کد با کمک اطلاعات دیتابیس در همان لحظه html را در RAM میسازد و برای مشا ارسال میکند.
مثلاً در asp.net شاید بنویسم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و با توجه به لوگین شدن شما و شرایط امنیتی و برای شما، صفحه فوق چنین خروجی html نهایی پیدا کند.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و مرور گر شما آن را چنین برایتان نمایش دهد
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
=====
حالا که فرق میان HTML و XML را تاحدودی دانستم ، راجع به کدام قسمت از وب سرویسها تحققات کنم تا جنبه دیگری از این تفاوت ها آشکار شود؟ مسلماً همه تفاوت های بین این دو فقط در تفاوت HTML و XML نباید باشد؟!
شما هنوز در درک تفاوت مشکل دارید.!
درک تفاوت این دو خیلی ساده است و من دیگر نمیدانم چه چیزی اضافه کنم.
همانطور که خودتان گفتید:
صفحات وب برای ارتباط مستقیم با انسانها هستند و وب سرویسها برای ارتباط مستقیم با نرم افزارها.
(کل تاپیک در یک خط فوق خلاصه و zip میشود!)
html فرمتی برای چگونگی دیدن محتویات توسط انسانها است (رنگ و فونت و چپ چین و راست چین افکت و... و... و xml فرمتی برا انتقال دیتای خام.
======
اگر سوال مشخص تری بپرسید شاید بتوانم کمک کنم و گرنه پیشنهادی جز کدنویسی ندارم.
قله بلند
01-12-2008, 12:45
سلام
اگر سوال مشخص تری بپرسید شاید بتوانم کمک کنم و گرنه پیشنهادی جز کدنویسی ندارم.
سلام. من رو ببخشید. راستش خودم هم کلافه شدم و خجالت می کشم.
می دونم که همش به خاطر کمبود علم است و دلم می خواهد این کمبود رو جبران کنم و به همین خاطر به مشاوری احتیاج دارم که من رو راهنمایی کند. به همین خاطر خواهش می کنم به من بگویید که چگونه شروع کنم که در عین حالی که با دوق وشوق یاد می گیریم فشار زیادی هم به من وارد نشود.
راستش اینقدر در دانشگاهم فشار به من وارد شده که خسته ام شده ام. دوست دارم با شوق یاد بگیرم ، مثل پیدا کردن همین تفاوت ها بین HTMl و XML که کلی امیدم رو بیشتر کرد.
سلام
سلام. من رو ببخشید. راستش خودم هم کلافه شدم و خجالت می کشم
همانطور که قبلاً در تاپیکهای دیگر هم گفتم: خیالتان راحت در بین آدمیزادها عالم مادرراد نداریم. به مرور یادخواهیم گرفت.
به همین خاطر خواهش می کنم به من بگویید که چگونه شروع کنم که در عین حالی که با دوق وشوق یاد می گیریم فشار زیادی هم به من وارد نشود.
اگر به این مبحث علاقه مند هستید، به نظر من خوب کد نویسی کنید !
عملا:
- یک webpage ساده درست کنید
- یک webservice ساده درست کنید
- از webservice تان در یک exe یا webpage استفاده کنید.
و...
ضمناً معمولاً کار عملی و وقتی نتیجه را مشاهده میکنید که خودتان ساخته اید لذت و انرژی برای ادامه کار بیشتر میشود.
(یک اپسیلونی از لذت خالق بودن به انسان دست میدهد!)
انشا ا... VS2008 یا حداقل VS2005 روی رایانه تان نصب است ؟
VB.Net یا C#.Net ؟
قله بلند
02-12-2008, 01:26
سلام. من VS2005 و بالتبع C# را نصب دارم. برنامه های وب سرویس را هم نوشته ام و از آنها استفاده کرده ام ولی این ظریف کاری ها رو نمی دونم. حالا برای نوشتن یک وب سایت ساده باید به جای تولید web service از web site استفاده کنم.نحوه نوشتن کدها و ... را از کجا گیر بیارم؟
سلام
گفتگوی جالبی داشتین .من می خوام طراحی وب سرویس رو یاد بگیرم .چکارباید انجام بدم.لطفا راهنمایم کن.
سلام
من می خوام طراحی وب سرویس رو یاد بگیرم .چکارباید انجام بدم...
میبخشید کمی مشکلات داشتم نتوانستم زودتر پاسخ دهم...
بطور معمول چیزی که ما با نام وب سرویس استاندارد می شناسیم را شما میتوانید با ایجاد یک پروژه وب سایت تحت ASP.Net و سپس افزودن (Project>Add New Item) فایل یا فایل های WebService.asmx به پروژه تان اضافه کنید.
این فایل با کد پیش فرضی مانند:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ساخته میشود و متد یا متدهایی مانند HelloWorld را میتوان بسادگی از برنامه های دیگر خود (وبی یا ویندوزی) فراخوانی کرد و پاسخش را دریافت کرد....
==============
اللبته اگر هدف ارتباط نرم افزار با کدی روی سایت باشد میتوانید از WCFService.svc و یا حتی WebAPI ها هم استفاده کنید.
موفق باشید.
سلام
ممنون از راهنمایتون.
دو تا سوال دارم:
1.من هیچی راجب طراحی سایت و وب سرویس نمی دانم.از کجا شروع کنم؟
2.مقاله ای درباره وب سرویس و طراحیش دارین؟
من گشتم مقاله درباره طراحی وب سرویس پیدا نکردم .
سلام
من هیچی راجب طراحی سایت و وب سرویس نمی دانم.از کجا شروع کنم؟
برنامه نویسی #C ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) که بلد هستید؟
هدف تان چیست و چه برنامه ای میخواهید ایجاد کنید؟
چه کد و چه برنامه ای میخواهید از وب سرویس شما خدمات بگیرد؟ یا فقط یک پروژه دانشگاهی است؟
الف) اگر برنامه نویسی #C ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) بلد باشید، بقیه اش زیاد مشکلی ندارد...
مراحل:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که در نتیجه آن یک وب سرویس با یک تابع نمونه HelloWorld برایتان ایجاد میشود.
ب) اگر احیاناً پیش از این برنامه نویسی نکرده اید و با #C ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) آشنا نیستید، باید واقع بین بود، بعید است با خواندن یکی دو صفحه دست و پاشکسته و ناقص در اینترنت اتفاقی رخ دهد، اینجا(اینترنت) برای رفع اشکال و حل مشکل و پرسش و پاسخ و... خیلی خوب است ولی آموزش از صفر حداقل نیاز به کتاب دارد، دو تا سه تا کتاب خوب تهیه کنید و از اول و به ترتیب ، آهسته و پیوسته مطالب را خوانده و عملی کار کنید، ایرادات و مشکلات را هم به کمک اینترنت (از جمله همین سایت) رفع کنید، بطور حتم به نتیجه خواهید رسید...
مقاله ای درباره وب سرویس و طراحیش دارین؟ من گشتم مقاله درباره طراحی وب سرویس پیدا نکردم
فقط باید کمی در انتخاب کلمات کلیدی دقت بیشتری کنید... ASP.Net WebService ASMX و....
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ](asmx)-1
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
...
یک پروژه نمونه/مثال:
یک وب سرویس ساده به همراه یک پروژه Web و یک پروژه exe جهت اتصال به وب سرویس
(برنامه exe مقداری را به وب سرویس فرستاده و پاسخ را دریافت میکند)
برای اجرای صحیح باید هر دو پروژه همزمان Run باشند.
البته پروژه به VB.Net است ولی شرایط و کدها، تفاوت فاهشی با C#.Net ندارند...
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
عیدتان مبارک و موفق باشید.
سلام
ببخشید با چند روز تاخیر عید شماهم مبارک.
تا حالا برنامه نویسی کار نکردم،اگه میشه چندتا کتاب بهم معرفی کنید؟
موضوع پایان نامه دانشگام وب سرویس هستش چون تا حالا کار نکردم با مشکل برخوردم.
قصدم اینه هم یاد بگیرم هم یک پایان نامه خوب تحویل بدم.
بنظرتون چقد طول میکشه هر دو رو انجام بدم؟از کجا شروع کنم بهتر هستش؟
سلام
کتاب های برنامه نویسی زیر بد نیستند:
چگونه با Visual C# 2010 برنامه نویسی کنیم
نشر: ناقوس
شابک: 978-964-377-513-1
C# 2010 برای برنامه نویسان
نشر: سها دانش
شابک: 978-600-181-047-3
چگونه با #C ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) برنامه نویسی کنیم؟
نشر: کتاب مرو
شابک: 978-964-2878-24-6
سایت adinehbook.com و naghoospress.ir جهت جستجو و یافت کتاب مورد نظر، دیتابیس خوبی دارد.
اگر بخواهید پروژه عادی تحویل بدهید و خودتان هم انجام دهید و بدانید چه کرده اید، وقت بگذارید، میشود چندماهه یک چیزی در حد دانشگاه درست کرد.
اگر فرصت داشته باشید میتوانید دوماه را روی مالعه کتاب و کلیات #C ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) وقت بگذارید و بعد به پروژه تان بپردازید.
البته ایده خوب برای وب سرویس تان هم ارزش دارد، اینکه وب سرویس شما قرار است چه خدماتی را به برنامه های دیگر ارائه دهد؟ ترجمه آنلاین؟ ارسال پیامک؟ ... ؟
موفق باشید.
سلام
مقاله های که برای طراحی وب سرویس برام فرستادین عالی بودن،ممنون
ولی نمی دونم کلمات کلیدی رو چطور انتخاب کنم برای حمله به وب سرویس یا هک کردن وب سرویس مقاله می خوام می توانید کمک کنید؟
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.