ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

وب سرویس webservice در جاوا Java

 
Post new topic   Reply to topic    ParsX.com Forum Index -> Java
View previous topic :: View next topic  
Author Message
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jul 10, 2014 5:29 am    Post subject: وب سرویس webservice در جاوا Java Reply with quote

وب سرویس: یک نرم افزار سیستمی طراحی شده برای پشتیبانی ارتباط دو ماشین با یکدیگر روی شبکه می باشد.
وب سرویس یک اینترفیس برای نرم افزار شما بحساب می آید.
کاربر می تواند با یک اینترفیس وبی یا یک کلاینت قوی (دسکتاپی) بعنوان واسط کاربری برای نرم افزار ما باشد. حالا وب سرویس را هم بعنوان یک اینترفیس دیگر در نظر بگیرید. با این تفاوت که این اینترفیس برای نرم افزارهاست نه برای بشر.
وب کلاینت بصورت مستقیم از طریق اینترفیس با نرم افزار ارتباط برقرار می کند.
وب سرویس هم بعنوان یک اینترفیس برای برنامه نویس های نرم افزار عمل می کند.
استفاده از وب سرویس بعنوان API به برنامه نویسان این امکان را می دهد که سیستم های خارجی با نرم افزارشان ارتباط برقرار کنند.
وب سرویس ها دو دسته می شوند:
SOAP
RESTful
وب سرویس های SOAP :
ُ
Simple Object Access Protocol

ارتباط وب سرویس و کلاینت از طریق پیام های XML می باشد. SOAP قوانین ارتباطی را تعیین می کندمثل اینکه هر تگ XML برای چه چیزی استفاده شده است و معنی آن چیست.
وب سرویس های RESTful :
این وب سرویس ها با استفاده از معماری HTTP یا پروتوکل های مشابه با محدود کردن اینترفیس برای استفاده از عملیات استاندارد مشابه GET Post put delete در http. می باشد. بنظر من RESTful ها راحت تر برنامه نویسی میشوند.
WSDL
Web Services Description Language

یکی از کامپوننت های اصلی وب سرویس ها می باشد. یک فایل xml که وب سرویس را از لحاظ تکنیکی برای ماشین تشریح می کند. در این فایل اطلاعات زیر است:
Port یا آدرسURL وب سرویس که باید به آن دست یابیم.
فرمت پیام ورودی
فرمت پیام خروجی
پروتکل امنیتی که باید لحاظ شود مثل Https
منبع Javapapers Arrow
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jul 10, 2014 5:59 am    Post subject: آموزش وب سرویس با Netbeans در جاوا Reply with quote

در این آموزش با استفاده از netbeans می خواهیم یک وب سرویس خیلی ساده بنویسیم:
یک پروژه جدید از نوع Web Application بسازید.وب سرور همان glassfish باشد و JavaEE 6 به پیشفرض ها دست نزنید.
حالا یک پروژه ساخته می شود که Hello World دارد. اسم پروژه را من گذاشتم SOAPParsx
یک بار پروژه را اجرا کنید تا صفحه hello world بیاید و تا اینجا مطمئن باشیم مشکلی نیست.

حالا روی پروژه کلیک راست کنید و گزینه New web service را انتخاب کنید.
نام وب سرویس را HelloWorld بگذارید و پکیج را com.parsx.webservice بگذارید.

تمام شد!

حالا برای اینکه متوجه بشید IDE براتون چه کار کرده می توانید سورس را از قسمت source packages نگاه کنید یک فایل HelloWorld.java ساخته و در پوشه Web Services یک فایل HelloWorld هست که به همون فایل اشاره می کنه.

حالا پروژه را اجرا کنید ...
آدرس ذیل را در مرورگر بزنید:
http://localhost:8080/SOAPHelloWorld/HelloWorld?wsdl
مشاهده می کنید که فایل wsdl در این مسیر قرار دارد.
این فایل شامل تعاریف xml
اسکیمای XSD ایمپورت
دو تگ پیام شامل hello و helloReponse ( request, response)
تعریف نوع پورت شامل عمل hello
تعریف سرویس نام پورت و آدرس برای فراخوانی

حالا می خواهیم از این وب سرویس استفاده کنیم .
باز روی پروژه کلیک راست کنید و اینبار web service client را انتخاب کنید :
قسمت WSDL URL را انتخاب کنید و آدرس ذیل را وارد کنید:
http://localhost:8080/SOAPHelloWorld/HelloWorld?wsdl
قسمت package هم نام com.parsx.webserviceclient بدهید.

حالا در صفحه Index.jsp که هستید ذیل Hello World در قسمت تگ Body کلیک راست کنید و گزینه call web service operation را بزنید و hello را انتخاب کنید.
در مجموعه کدی که ایجاد شده خط ذیل را اصلاح کنید:
java.lang.String name = "parsx.com";


برای درک خوب فرآیند حتما سورس را بازنگری کنید و تغییرات را متوجه شوید.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jul 10, 2014 6:00 am    Post subject: کد اضافه شده به Index.jsp Reply with quote

    <%
    try {
   com.parsx.webserviceclient.HelloWorld_Service service = new com.parsx.webserviceclient.HelloWorld_Service();
   com.parsx.webserviceclient.HelloWorld port = service.getHelloWorldPort();
    // TODO initialize WS operation arguments here
   java.lang.String name = "parsx.com";
   // TODO process result here
   java.lang.String result = port.hello(name);
   out.println("Result = "+result);
    } catch (Exception ex) {
   // TODO handle custom exceptions here
    }
    %>
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jul 10, 2014 6:05 am    Post subject: Reply with quote

پیشنهاد می کنم کتاب Java Web Services: Up and Running رو برای مطالعات بیشتر بخوانید. تو گوگل سرچ کنی میتونی دانلود کنی.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jul 10, 2014 6:29 am    Post subject: چرا JSON جای XML Reply with quote

مصرف کنندگان و کلاینت های وب سرویس ها بصورت افزایشی از جاوا اسکریپت و علی الخصوص از jQuery استفاده می کنند. این کلاینت ها ترجیح می دهند از JSON مخفف JavaScript Object Notation جای XML استفاده کنند چرا که JSON متنی می باشد که شی JavaScript را نمایش می دهد. یک کلاینت جاوااسکریپتی وقتی یک آرایه از محصولات را دریافت می کند اگر محصول دریافتی با JSON باشد خوب بالطبع پردازش کمتری لازم دارد چون با جاوا اسکریپت معمولی هم می شود این را پردازش کرد حال آنکه اگر با XML دریافت شود باید لود تبدیل آن را متحمل شویم.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> Java All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum