NIA DINIYAH 1401129141 JOSEPHINE KARINA 1401127602 REZON 1401127956 RAHMAN 1401127306 ALDOFA 1401127653 06PMT ADSE UTS BAYANGAN Web Services Web Service dapat disamakan dengan library tersebut tetapi tidak memerlukan registrasi khusus kedalam sistem operasi yang menyimpannya. Web Service tersimpan di Web Server sehingga dapat diakses oleh berbagai bahasa pemrograman dengan lebih mudah baik dalam lingkungan LAN maupun Internet. Sistem Web Service ini diharapkan meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya. W3C mendefinisikan Web Service sebagai subuah sistem perangkat lunak yang dirancang untuk mendukung komunikasi dan interaksi antar mesin ke mesin (Machine to Machine) melalui sebuah network (jaringan). Web Service juga termasuk Web APIs yang dapat diakses melalui jaringan seperti misalnya internet, dan dieksekusi melalui sebuah sistem jarak jauh sesusai dengan layanan yang diminta. Definisi Web Service menurut W3C juga meliputi banyak sistem berbeda, tetapi pada umumnya lebih menyangkut pada client dan server yang berkomunikasi menggunakan XML yang memenuhi standard SOAP (Simple Object Access Protocol). Asumsi secara umum adalah pada terminologi terdapat deskripsi dari mesin yang layanannya disediakan oleh server, atau sama seperti konsep dari WSDL. WSDL bukan termasuk standard dari SOAP tetapi merupakan syarat mutlak untuk client-side otomatis pada framework Java dan .NET SOAP. Beberapa organisasi industri seperti WS-I mengklaim baik SOAP dan WSDL sebagai definisi sari Web Service. Definisi lain juga menyebutkan bahwa Web Service merupakan standard yang memungkinkan adanya interaksi informasi teknologi yang terintregasi antara proses dan sistem. Kita dapat mendeskripsikannya sebagai keluaran baru dari Web application yang dapat mennyediakan layanan dari yang palin mudah dan sederhana sampai yang paling rumit dan kompleks, juga proses-proses yang bersifat scientific. Web Service menyediakan mekanisme standard untuk komunikasi yang terintegrasi antara system-sistem yang berjauhan. Mekanisme ini membuat Web Service ideal untuk pengimplementasian Service-Oriented Architecture (SOA). Untuk kondisi sekarang , web services cocok untuk menyelesaikan masalah pada system bisnis konsep lama ke system bisnis ter Intergrasi. Sehingga dengan 1 model konsep bisnis dapat di akses dan dipergunakann macam-macam aplikasi dan device. Ini semua bekerja dengan beberapa protocol standart yang sudah ada diantaraya : • XML • WSDL • SOAP • UDDI Kapan Kita Gunakan Web Services ? Web Services itu digunakan saat kita akan mentransformasi sebuat bisnis logik / sebuah class dan object yang terpisah dalam 1 ruang lingkup yang menjadi satu, sehingga tingkat keamanan dan security dapat di tangani dengan baik. Selain itu Web Service juga lebih mudah dalam process deploymentnya, karena tidak memerlukan registrasi khusus ke dalam sistem operasi. Web Service cukup diupload ke Web Server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi. Web Service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian mengurangi resiko terblokir oleh firewall. Kendala arsitektur COM/DCOM adalah memerlukan konfigurasi khusus di sisi firewall, dan ini tidak perlu dilakukan untuk mengakses Web Service. Beberapa vendor luar negeri mulai berkolaborasi satu sama lain dengan konsep web services, diantaranya : IBM , Microsoft , SUN , ORACLE. Diantaranya contoh web services yang sudah jadi dan dipakai adalah web services keluaran Microsoft ( Microsoft Passport ) – web services untuk user name dan password yang sudah dipasang di web site Microsoft dan HOTMAIL Spesifikasi dan Standard Ada beberapa spesifikasi inti dari Web Service, misalnya: SOAP: Berbasis XML, protokol primernya adalah HTTP dan HTTPS (termasuk SMTP dan XMPP). WSDL: Format XML yang menyediakan layanan interface untuk dideskripsikan. Umumnya digunakan untuk kode pada client dan server, juga untuk konfigurasi. UDDI: Protokol yang digunakan untuk mempublish dan mendiscover seluruh metadata tentang Web Service untuk menjalankan aplikasi dalam menemukan Web Service, baik dalam segi disain maupun waktu kerjanya. Spesifikasi-spesifikasi di atas pada umumnya merupakan standard dari W3C, termasuk XML, SOAP2, dan WSDL. UDDI merupakan standard dari OASIS. Spesifikasi yang lain telah dikembangkan untuk memperluas kemampuan Web Service itu sendiri. Spesifikasi-spesifikasi ini lebih mengarah sebagai WS-*. WS-Security: Menjelaskan bagaimana cara menggunakan XML Encryption dan XML Signature pada SOAP untuk keamanan pertukaran pesan, sebagai alternatif ataupun perpanjangan dalam penggunaan HTTPS untuk keamanan jalur. WS-Reliability: Prokol standard dari OASIS untuk pertukaran pesan di antara dua Web Service. WS-ReliableMessaging: Protokol untuk message di antara dua Web Service yang dikeluarkan oleh Microsoft, BEA, dan IBM yang distandardisasi oleh organisasi OASIS. WS-Addressing: Cara untuk mendeskripsikan alamat dari penerima maupun pengirim pesan, selain SOAP itu sendiri. Spesifikasi-spesifikasi dari Web Service bekerja bersama untuk keamanan maupun keandalan. Spesifikasi dalam Message (Messaging Spesifications) SOAP WS-Addressing MTOM (Attachments) WS-Enumeration WS-Eventing WS-Transfer SOAP-over-UDP SOAP 1.1 Binding for MTOM 1.0 Security Specifications WS-Security: SOAP Message Security WS-Security: UsernameToken Profile WS-Security: X.509 Certificate Token Profile WS-SecureConversation WS-SecurityPolicy WS-Trust WS-Federation WS-Federation Active Requestor Profile WS-Federation Passive Requestor Profile WS-Security: Kerberos Binding Web Single Sign-On Interoperability Profile Web Single Sign-On Metadata Exchange Protocol Reliable Messaging Specifications WS-ReliableMessaging Transaction Specifications WS-Coordination WS-AtomicTransaction WS-BusinessActivity Metadata Specifications WSDL WSDL 1.1 Binding Extension for SOAP 1.2 WS-Policy WS-PolicyAssertions WS-PolicyAttachment WS-Discovery WS-MetadataExchange XML Specifications XML Namespaces in XML XML Information Set Management Specifications WS-Management WS-Management Catalog Business Process Specifications BPEL4WS Specification Profiles Devices Profile WS-I Basic Profile Profil Web Service Untuk lebih mengembangkan fungsinya, WS-I mempublikasikan profil. Profil mengeset spesifikasi inti (SOAP, WSDL, dll) pada versi yang lebih spesifik (SOAP 1.2, UDDI 2, dll) dengan beberapa tambahan untuk lebih memperketat penggunaan spesifikasi inti. WS-I juga mempublikasikan kasus dan tool. Penggunaan Web Service adalah sekumpulan tools yang dapat digunakan dengan berbagai macam cara. Tiga cara yang sering digunakan adalah RPC, SOA, dan REST. Web Service RPC menampilkan fungsi dan metode call interface yang terdistribusi yang bersifat familiar bagi banyak pengembang. Biasanya, unit dasar dari RPC ini adalah WSDL operation. Pada awalnya, tools dari Web Service lebih difokuskan pada RPC dan sebagai hasilnya, hádala pengembangan yang lebih luas. Meskipun demikian, hal ini dirasa tidak efektif oleh berbagai vendor sehingga pada akhirnya RPC tidak diikutkan dalam WS-I Basic Profile. Self-Oriented Architecture Web Service juga dapat digunakan untuk pengimplementasian arsitektur yang berdasarkan pada konsep Service-Oriented Architecture (SOA) di mana unit dasar dari komunikasi itu sendiri adalah pesan, dan bukan operasi. Ini sering disebut dengan layanan “service-oriented”. Banyak vendor-vendor software dan analis industri “menganut” konsep Web Service SOA ini. Representational State Transfer Web Service RESTful berencana untuk menandingi HTTP dan protokol lain yang sejenis dengan membatasi interface pada operasi yang standard (misalnya GET, PUT, DELETE). Di sini, fokus lebih pada stateful resource daripada pesan ataupun operasi. RESTful dapat menggunakan WSDL untuk mendeskripsikan pesan SOAP melalui HTTP, yang mendefinisikan operasi, atau dapat diimplementasikan sebagai abstraksi pada puncak SOAP (misalnya WS-Tran Sumber: 1. www.wikipedia.org 2. www.ilmukomputer.com Model Web Services Setelah menyelesaikan modul ini, akan didapati: _ Menjelaskan peran web services _ Mengetahi daftar spesifikasi yang digunakan untuk membuat web service platform independen _ Menjelaskan API Java yang digunakan untuk pengolahan XML dan web services Modul 12 Model Web Service Page 2 of 11 Peran Web Services World Wide Web Consortium (W3C) mendefinisikan web service sebagai " sistem perangkat lunak yang dirancang untuk mendukung interoperabiliti interaksi mesin yang satu dengan mesin yang lain melalui jaringan." Sebuah web service mengekspose service remote atau prosedur yang dapat dieksekusi ke klien aplikasi. Web service dirancang untuk platform independen, namun independensi platform ini tidak tanpa kekurangan. Kekurangan untuk independensi dari platform web service adalah ada pengeluaran tambahan, baik pemakaian jaringan ataupun penggunaan CPU. Beberapa fitur utama web service adalah: _ Platform Independen = Web Service tidak bergantung pada CPU, sistem operasi, atau bahasa pemrograman. _ Dirancang untuk memanfaatkan teknologi yang telah ada = Web service menggunakan secara ekstensif teknologi XML dan HTTP. _ Interoperabel dengan bahasa pemrograman yang berlainan = Web service menggunakan model klien-server. Adalah memungkinkan untuk memiliki sebuah klien yang ditulis dalam satu bahasa pemrograman untuk berkomunikasi dengan server yang ditulis dalam bahasa pemrograman yang berbeda. Aplikasi klien-server dengan klien dan server yang keduanya dibuat dengan menggunakan bahasa pemrograman Java yang tidak dapat digunakan untuk klien atau server yang ditulis dalam bahasa pemrograman lain, memerlukan sedikit usaha tambahan agar menjadi web service. Web service telah didukung oleh platform Java enterprise sejak J2EE 1.4. Meskipun web service bukan lagi sebuah teknologi baru, sejumlah industri memberikan gairah untuk terus mengembangkannya. Anda mungkin diminta untuk membuat fungsi aplikasi yang sudah anda buat untuk diubah menjadi web service tanpa banyak menimbulkan masalah teknis. Beruntung platform Java EE 5 memungkinkan penciptaan atau penambahan web service dengan cara yang mudah untuk aplikasi anda. Web Service Sebagai Komponen Remote Web service menyediakan sebuah mekanisme untuk menjalankan operasi bisnis mirip dengan session EJB remote. Web service menyediakan eksekusi sebuah pekerjaan secara remote yang mirip dengan: _ Common Object Request Broker Architecture (CORBA) = Spesifikasinya dikelola oleh Object Management Group (OMG). Menyediakan binding untuk bahasa pemrograman C dan C + +, kemudian diikuti Jawa. Dilihat oleh banyak orang sebagai arsitektur yang kompleks. Digunakan terutama pada tahun 1990-an. Mulai tahun 2000, web service mulai menggantikan CORBA untuk beberapa aplikasi. Membangun Aplikasi dengan Platform Java EE Page 3 of 11 _ Remote Method Invocation (RMI) = Sebuah teknologi Java untuk pemanggilan method dari remote klien. Teknologi ini digunakan sebagai fondasi bagi komponen distributed di Java, misalnya EJB. Dimasukkan sebagai bagian dari platform Java SE. _ Remote Procedure Call (RPC) = Mengeksekusi prosedur secara remote menggunakan satu protokol tertentu dipopulerkan oleh Sun Microsystems. Biasanya tidak digunakan dalam perangkat lunak berorientasi objek. Network File System (NFS) adalah contoh dari program RPC. _ Distributed Component Object Model (DCOM) = Teknologi yang dibuat oleh Microsoft yang posisinya setara dengan RMI, yang hanya bekerja pada platform Microsoft. DCOM saat ini diganti dengan. Net Remoting dan web service. Web service berbeda dengan teknologi-teknilogi di atas, dengan menggunakan teknologi Hyper Teks Transfer Protocol (HTTP) dan XML (Extensible Markup Language), keduanya juga didukung oleh librari yang ada di hampir semua bahasa pemrograman, seperti standar transport dan payload. Librari Java yang mendukung web service yang saat ini disertakan dalam versi platform Java enterprise dan jika anda menggunakan platform Java SE versi 1.6 librari web service sudah dimasukkan ke dalamnya. Web Service Dibandingkan Dengan Remote EJB Arsitektur EJB secara keseluruhan tidak jauh berbeda dari yang web service, dengan pengecualian teknologi spesifik yang digunakan untuk membuat web service platform independen: _ Sebuah registry untuk mengumumkan dan mencari web service yang dikenal sebagai Universal Description, Discovery and Integration (UDDI). Jika klien sudah mengetahui lokasi yang diinginkan, anda dapat membypass registry. _ Sebuah protokol yang digunakan sebagai jalur transportasi untuk memanggil service, mengirimkan parameter, dan menerima nilai balikan. Dalam remote EJB, protocol ini adalah Internet Inter-Orb Protocol (IIOP). Di web service yang digunakan adalah HTTP. _ Sebuah urutan data yang ditransfer antara klien dan server. Session Bean remote menggunakan object yang serialized sedangkan web service menggunakan XML. Modul 12 Model Web Service Page 4 of 11 Spesifikasi Web Service Pada bagian ini akan dijelaskan spesifikasi web service. Persyaratan Interoperabilitas Web service dirancang untuk platform dan bahasa yang netral. Untuk membuat web service secara efektif, yang harus diperhatikan adalah: _ Dukungan klien tanpa memandang platform atau bahasa yang digunakan – Sebuah web service tidak tergantung pada bahasa pemrograman tertentu atau dijalankan pada sistem operasi tertentu. _ Dapat dilaksanakan dalam bahasa apapun tanpa memperhatikan platform yang digunakan – Sebuah API web service meekspose semua informasi dalam bentuk file teks yang dikenal sebagai file Web Service Description Language (WSDL). Dengan file WSDL, anda dapat mengembangkan klien baru dalam bahasa pemrograman apapun tanpa mengakses informasi lainnya ke server. Sebagian besar tool di Java juga mendukung pembuatan web service yang kompatibel cukup dengan menggunakan informasi dari file WSDL. Dua dari beberapa spesifikasi yang digunakan untuk membuat web service interoperable adalah HTTP dan XML. HTTP adalah protokol transportasi, biasanya digunakan di atas Transmission Control Protocol/Internet Protocol (TCP/IP), yang dapat digunakan untuk mentransfer informasi di dalam arsitektur berorientasi permintaan-respon. XML adalah suatu spesifikasi yang digunakan untuk mengatur data dalam sebuah file teks yang bisa di parsing oleh mesin. Web service menggunakan HTTP untuk mengirim data dalam format XML untuk permintaan dan respon. Namun, dengan menggunakan HTTP sebagai protokol transport dan XML sebagai format data yang tidak menyediakan interoperabilitas tingkat tinggi. Agar interoperable: _ Method dan header yang digunakan dalam transport protokol HTTP harus standar. _ Format pesan XML harus diketahui. XML tidak hanya memerlukan dokumen yang ‘well-formed’ tetapi juga memerlukan struktur atau formatnya. Simple Object Access Protocol (SOAP) adalah spesifikasi yang mengatur standar struktur pesan XML untuk digunakan dalam web service. Catatan - The World Wide Web Consortium (W3C) yang menerbitkan HTTP, XML dan SOAP spesifikasi di http://www.w3c.org Membangun Aplikasi dengan Platform Java EE Page 5 of 11 Standar Interoperabilitas Bukan hanya spesifikasi XML, HTTP, dan SOAP yang digunakan untuk mencapai interoperabilitas antara web servis dan kliennya. Karena banyak spesifikasi yang digunakan dalam web service, spesifikasi telah dibuat untuk mandat spesifikasi dan versi yang akan digunakan. Ini serupa dengan Java EE 5 mandat penggunaan spesifikasi, seperti EJB 3 dan Servlet 2.5. _ XML = Standar W3C yang dirancang untuk menyimpan data dalam format yang baik untuk dibaca manusia dan mudah diparsing oleh mesin. _ HTTP = Standar W3C untuk komunikasi data. _ UDDI = Standar untuk publikasi dan pencarian service, disponsori oleh OASIS. _ SOAP = Standar W3C yang memaksa format pesan XML lebih didefinisikan pada struktur untuk digunakan dalam web service. Kode 12-1 Contoh Permintaan SOAP <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://sample/"> <soapenv:Body> <ns1:getGreeting> <arg0>Duke</arg0> </ns1:getGreeting> </soapenv:Body> </soapenv:Envelope> Kode 12-2 Contoh Respon SOAP <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://sample/"> <soapenv:Body> <ns1:getGreetingResponse> <return>Hello Duke</return> </ns1:getGreetingResponse> </soapenv:Body> </soapenv:Envelope> Modul 12 Model Web Service Page 6 of 11 _ WSDL – Diusulkan oleh W3C untuk menjadi standar yang mendefinisikan fungsi web service. Serupa fungsinya dengan interface bisnis dari komponen Session EJB, namun dalam format XML. Kode 12-3 Contoh File WSDL <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://sample/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://sample/" name="SayHelloService"> <types> <xsd:schema> <xsd:import namespace="http://sample/" schemaLocation="http://10.1.1.1:8080/WebService/SayHelloService/__contain er$publishing$subctx/WEB-INF/wsdl/SayHelloService_schema1.xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"/> </xsd:schema> </types> <message name="getGreeting"> <part name="parameters" element="tns:getGreeting"/> </message> <message name="getGreetingResponse"> <part name="parameters" element="tns:getGreetingResponse"/> </message> <portType name="SayHello"> <operation name="getGreeting"> <input message="tns:getGreeting"/> <output message="tns:getGreetingResponse"/> </operation> </portType> <binding name="SayHelloPortBinding" type="tns:SayHello"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="getGreeting"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="SayHelloService"> <port name="SayHelloPort" binding="tns:SayHelloPortBinding"> Membangun Aplikasi dengan Platform Java EE Page 7 of 11 <soap:address location="http://10.1.1.1:8080/WebService/SayHelloService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"/> </port> </service> </definitions> _ Web Service Interoperability = Organzation (WS-I Organization) – WS-I Organization adalah organisasi yang mengeluarkan mandat berupa profil yang berisi penggunaan spesifikasi tertentu, seperti SOAP dan WSDL, dan menempatkan mereka pada tambahan batasan yang diperlukan, untuk menyediakan web service interoperable. Profil ini dikenal dengan istilah Basic Profil. Modul 12 Model Web Service API Java Terkait Dengan XML dan Web Services Sebagian besar dari spesifikasi dalam daftar berikut ini digunakan ketika membuat atau menggunakan web service dalam bahasa pemrograman Java. Namun, Anda tidak perlu menggunakan atau bahkan mengetahui rincian spesifikasi ini untuk menggunakan web service dengan teknologi Java. _ Java Document Object Model (JDOM atau Java DOM) menyediakan model Java berorientasi objek dari XML dokumen. _ Java API untuk XML Processing (JAXP) adalah teknologi Java yang merupakan abstraksi dari pemrosesan XML. _ Java Architecture untuk XML Binding (JAXB) mengatur bagaimana mengkonversi objek Java ke skema XML. _ Java API for XML-based Remote Process Communications (JAX-RPC) adalah spesifikasi untuk membangun web service dengan teknologi Java. Di spesifikasi Java EE 5, peran JAX-RPC digantikan oleh Java API for XML Web Services (JAXWS). _ Java API for XML Registries (JAXR) adalah spesifikasi standar Java untuk menggunakan UDDI registries. _ SOAP With Attachment API for Java (SAAJ) adalah spesifikasi standar Java untuk membuat, mengirim, menerima, dan memparsing pesan SOAP. Digunakan oleh JAX-WS. _ Java API for XML Web Service (JAX-WS) adalah spesifikasi Java untuk web service. Implementasi JAX-WS menggunakan implementasi dari SAAJ, yang pada gilirannya menggunakan JAXP dan spesifikasi Java untuk XML yang lainnya. API SAAJ API SAAJ memungkinkan klien untuk menggunakan web service tanpa harus mempedulikan parser XML atau protokol transport yang digunakan. API-nya dianggap lebih tinggi dari JAXP, untuk menggunakan API SAAJ masih memerlukan pengetahuan XML dan WSDL. Kode 12-4 Contoh Pemakaian API SAAJ MessageFactory msgFactory = MessageFactory.newInstance(); SOAPMessage message = msgFactory.createMessage(); SOAPHeader header = message.getSOAPHeader(); header.detachNode(); Membangun Aplikasi dengan Platform Java EE Page 9 of 11 SOAPBody body = message.getSOAPBody(); javax.xml.namespace.QName bodyName = new QName("http://sample/","getGreeting", "ns1"); SOAPBodyElement requestBodyElement = body.addBodyElement(bodyName); QName name = new QName("arg0"); SOAPElement symbol = requestBodyElement.addChildElement(name); symbol.addTextNode("Duke"); SOAPConnectionFactory connFactory = SOAPConnectionFactory.newInstance(); SOAPConnection connection = connFactory.createConnection(); String endpoint = "http://localhost:8080/WebService/SayHelloService"; SOAPMessage response = connection.call(message, endpoint); connection.close(); SOAPBody soapBody = response.getSOAPBody(); SOAPBodyElement getGreetingResponseElement = (SOAPBodyElement)soapBody.getChildElements().next(); SOAPBodyElement returnElement = (SOAPBodyElement)getGreetingResponseElement.getChildElements().next(); System.out.print("The response was: " + returnElement.getValue()); API JAX-WS API JAX-WS adalah Java API level tertinggi (saat ini) untuk web service. API JAXWS: _ Menggantikan JAX-RPC _ Memerlukan sedikit pengetahuan XML atau WSDL tingkat dasar untuk web service yang sederhana _ Menggunakan JAXB untuk menentukan bagaimana melakukan pemetaan tipe data antara teknologi Java dan XML _ Menggunakan SAAJ untuk mengirim, menerima, dan mem-parsing pesan SOAP Menggunakan JAX-WS pada sisi klien atau server tidak memerlukan penggunaannya pada sisi lainnya. Jika anda sedang mengembangkan web service klien dan server dengan menggunakan teknologi Java, maka anda harus menggunakan API JAXWS. Walaupun ada sedikit yang menggunakan untuk membuat web service yang memiliki baik pada sisi klien dan service yang menggunakan platform Java, masih ada beberapa alasan untuk mempertimbangkan menggunakan web service: _ Mendukung fleksibilitas platform klien tidak dikenal di masa mendatang Modul 12 Model Web Service Page 10 of 11 _ Tidak terikat pada platform server tertentu. Misalnya, jika server platform tidak memiliki skalabilitas yang baik, maka dapat diganti tanpa mempengaruhi aplikasi client _ Penggunaan HTTP sebagai teknologi untuk berkomunikasi, dalam banyak kasus, memungkinkan penggunaan aturan-aturan firewall yang sudah ada. Gambar 12-1 menggambarkan bagaimana teknologi JAX-WS mengelola komunikasi antara web service dan klien. Gambar 12-1 Komunikasi antara yang JAX-WS Web Service dan Klien Membangun Aplikasi dengan Platform Java EE Page 11 of 11 Rangkuman Peran web service di aplikasi enterprise adalah menyediakan metode yang tidak bergantung pada platform untuk pemanggilan method secara remote. Supaya platform-netral, beberapa spesifikasi digunakan, seperti SOAP dan HTTP. Teknologi Java menyediakan API untuk pengolahan XML dan web service . Dasar API, seperti JAXP merupakan bagian dari platform Java SE, sedangkan API tingkat tinggi, seperti JAX-WS merupakan bagian dari platform Java EE.