Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE

Ukuran: px
Mulai penontonan dengan halaman:

Download "Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE"

Transkripsi

1 Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Setelah menyelesaikan modul ini, anda dapat: Menjelaskan prinsip-prinsip dari pembangunan aplikasi berbasis komponen model Menjelaskan model komunikasi secara asynchronous Menjelaskan proses dan peran yang digunakan ketika mengembangkan dan menjalankan aplikasi Java EE Membandingkan beberapa metode dan alat-alat yang dapat digunakan untuk membangun aplikasi Java EE dan komponen terkait Menjelaskan bagaimana mengkonfigurasi dan mengemas aplikasi Java EE

2 Prinsip Pembangunan Aplikasi Berbasis Komponen Pembangunan aplikasi berbasis komponen merupakan fitur kunci dari platform Java EE. Komponen Java EE dimaksudkan supaya menjadi portabel dan digunakan kembali. Komponen aplikasi Java EE mungkin berasal dari berbagai sumber baik internal maupun eksternal untuk tim pengembangan. Spesifikasi EJB dari awal dirancang untuk mendukung perakitan aplikasi dengan menggunakan komponen dari berbagai vendor. Komponen dapat dibuat secara rinci tanpa pengetahuan detail tentang lingkungan di mana mereka akan digunakan atau dengan komponen lain yang mana mereka akan berinteraksi. Prinsip ini disebut loose coupling. Sistem yang loose coupling lebih mudah untuk ditest dan dipelihara, dan komponen yang loosely coupled lebih mudah untuk digunakan kembali. Komponen Java EE Komponen Java EE platform yang belum tentu satu class, tetapi umumnya merupakan gabungan lebih dari satu class dan interface yang mendefinisikan sebuah unit fungsi. Java EE model mendefinisikan beberapa jenis komponen, masing-masing yang dirancang untuk memenuhi kebutuhan tertentu. mengilustrasikan jenis komponen utama Java EE di masing-masing kontainer. Java EE komponen termasuk jenis session beans, entity class, message-driven beans, servlets, dan komponen yang didasarkan pada teknologi JSP. Karakteristik Komponen Java EE Gambar 2-1 Komponen Java EE Beberapa jenis komponen memiliki subtypes. Komponen juga memiliki beberapa atau semua karakteristik dasar sebagai berikut, tergantung pada jenis komponen: State and properti Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 2 of 29

3 Dienkapsulasi oleh kontainer Dukungan untuk interaksi komponen local and distributable Transparansi lokasi Referensi ke komponen diperoleh dengan menggunakan sistem penamaan Informasi berikut menggambarkan framework aplikasi berbasis komponen yang didukung oleh spesifikasi Java EE. State Komponen dan Properti Komponen Cara komponen yang mengelola state atau mendefinisikan properti dapat memiliki implikasi pada performanya atau bagaimana dapat digunakan dalam framework Java EE. State Komponen Komponen dapat memiliki state. State terkait data yang harus dijaga di sejumlah panggilan method yang dilakukan dari klien yang sama. Namun, ada beberapa keuntungan performance yang dimiliki oleh komponen yang tidak memiliki state. Secara khusus, infrastruktur komponen dapat mengatur pemanggilan method yang dilakukan oleh klien ke instances komponen yang berbeda yang berada di host yang berbeda. Pengaturan ini adalah keuntungan yang di dapat dari fitur load balancing dan fault tolerance. Komponen pada dasarnya dapat dirancang sebagai stateless atau stateful. Jenis komponen lainnya mungkin dapat berbentuk stateless atau stateful. Properti Komponen Properti adalah merupakan fitur dari komponen yang dapat baik diakses dan diubah oleh kliennya atau dapat juga hanya diakses atau diubah oleh kliennya. Properti dapat direpresentasikan oleh instaces variabel. Dalam bahasa pemrograman Java, properti biasanya dimodelkan dengan sepasang method aksesor dan mutator. Misalnya, method getname dan setname mewakili properti nama. Komponen Dienkapsulasi Oleh Kontainer Enkapsulasi merupakan konsep penting dalam pemrograman berorientasi objek, dan Java EE menggunakan model enkapsulasi lebih dari sekedar hanya untuk model pemrograman. Komponen dienkapsulasi oleh kontainer yang mengatur siklus hidup mereka, serta mengisolasi mereka dari komponen lain dan dari lingkungan runtime. Kontrak Sebagai Interface Sebuah fitur penting dari model komponen Java EE adalah beberapa komponen yang sudah didefinisikan dan dikontrol melalui interfacenya. Satu komponen hanya dapat berinteraksi dengan komponen lainnya melalui interface dari komponen tersebut. Membangun Aplikasi dengan Platform Java EE Page 3 of 29

4 Meskipun kedua komponen berada dalam Java Virtual Machine (JVM ) yang sama, adalah sebuah kesalahan jika satu komponen memanggil langsung method pada implementasi komponen lain. Gambar 2-2 menggambarkan bagaimana dua komponen di dalam aplikasi Java EE berinteraksi melalui interface. Gambar 2-2 Interaksi Komponen-Komponen di Java EE Aplikasi Melalui Interface Satu hal penting yang harus diperhatikan terkait dengan pembatasan ini adalah bahwa infrastruktur komponen dapat menyediakan proxy untuk semua komponen yang ada dalam aplikasi. Asalkan proxy mengimplementasikan interface yang sama seperti yang ada di komponen implementasinya, klien tidak akan terpengaruh oleh kondisi ini. Penggunaan proxy memungkinkan komponen dikelola oleh kontainer, hal ini merupakan salah satu keuntungan yang kita dapat. Interaksi Komponen Distributed dan Komponen Lokal Untuk beberapa jenis model komponen, Java EE mendukung baik interaksi antar komponen secara lokal maupun distributed. Anda yang harus menentukan apakah interaksi antara dua komponen harus lokal atau distributed. Jika suatu interaksi antara dua komponen adalah lokal, server aplikasi biasanya membuat komponen tersedia satu sama lain di mesin yang memiliki JVM yang sama. Jika suatu interaksi antara dua komponen adalah distributed, server aplikasi harus menyediakan infrastruktur RMI untu dua komponen berkomunikasi. Masing-masing strategi memiliki kelemahan dan kelebihan. Komponen Distributed dan RMI Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 4 of 29

5 Untuk mendukung interaksi komponen secara distributed, server aplikasi harus menyediakan infrastruktur RMI untuk dapat mendukung komunikasi. Karena model komponen Java EE didasarkan pada pemisahan yang ketat antara interface dengan implementasinya, ini mudah untuk dicapai dengan memberikan infrastruktur RMI. Seperti yang ditunjukkan dalam Gambar 2-3, Component1 berinteraksi dengan Component2 melalui interface, Interface2. Bila komponen ini distributed, Interface2 akan diimplementasikan oleh stub. Stub berisi logika komunikasi yang memungkinkan untuk membuat panggilan method secara remote. Component2 tidak menyadari secara langsung jika methodnya dipanggil oleh Component1. Sebenarnya, method untuk Component2 dipanggil Component1 melalui perantara skeleton. Stub dan sekeleton sama-sama melaksanakan infrastruktur komunikasi. Gambar 2-3 RMI Infrastruktur untuk Distributed Komponen RMI infrastruktur harus mengatur masalah yang terkait dengan desain: Marshalling and unmarshalling argumen dan nilai balikan Serialization merupakan bagian dari proses ini. Namun, serialization saja tidak cukup jika infrastruktur RMI harus tidak bergantung pada bahasa. Namun demikian, objek yang akan didistribusikan antara komponen harus serializable Passing distributed exceptions Pada saat komponen didistribusikan, kesalahan yang dapat terjadi di dalam aplikasi mungkin bukan hanya kesalahan di sisi logika aplikasi itu sendiri, seperti pemisahan jaringan. Dalam keadaan seperti ini, biasanya, pemanggil akan mendapatkan java.rmi.remoteexception. Mengirimkan security context and transaction context antara pemanggil dan target Manajemen security dan transaksi akan dibahas pada modul lain dalam materi ini. Untuk saat ini, anda harus memahami bahwa ada informasi yang harus disediakan, bersama dengan pemanggilan method yang berbeda dari argumen dan kembali jenis. Misalnya, komponen target mungkin perlu untuk memastikan bahwa pemanggil memiliki hak akses untuk pemanggilan method. Membangun Aplikasi dengan Platform Java EE Page 5 of 29

6 Protokol RMI yang harus disediakan oleh server aplikasi adalah IIOP, yang merupakan bagian dari spesifikasi CORBA. IIOP membuat aplikasi yang dibuat berdasarkan komponen EJB dapat interoperabel dengan CORBA services. Namun, tidak ada larangan bagi vendor server untuk menyediakan protokol selain IIOP. Misalnya, beberapa vendor menyediakan RMI dengan menggunakan Java Remote Metode Protocol (JRMP) juga. Cara Pemanggilan Komponen Lokal dan Distributed Interaksi antara komponen lokal dan distributed mengikuti konvensi pemanggilan sebagai berikut: Komponen lokal berinteraksi dengan menggunakan cara pemanggilan bahasa pemrograman Java biasa. Argumen dikirim dalam memori yang dipakai bersama, yang berarti bahwa sebuah instance objek yang dikirim sebagai argumen dari komponen yang satu ke komponen yang lain dapat diubah oleh komponen target. Modifikasi pada argumen yang dikirim akan berdampak langsung pada komponen pemanggil. Dengan kata lain, pemanggil dan target akan menggunakan instance yang sama dari argumen. Argumen yang dikirim sebagai bagian dari komponen distributed, dikirim dengan cara menduplikasi instancenya. Argumen yang sudah diserialize selanjutnya oleh pemanggil dikirim melalui jaringan untuk target, yang berarti bahwa target tidak dapat mengubah instance argumen yang dimiliki oleh pemanggil. Ada satu pengecualian pada peraturan diatas. Jika argumen tersebut adalah distributed komponen, maka akan selalu dikirim melalui stub, tanpa memperhatikan apakah kedua komponen lokal satu sama lain. Karena yang dikirim adalah stub, maka objek yang dikirim dapat memanggil method melalui jaringan ke instance objek dari pemanggil. Kelebihan dan Kekurangan dari Distributed Component Model Biaya yang harus dikeluarkan oleh distributed komponen terutama berasal dari RMI overhead. Proses marshalling dan unmarshalling dari argumen dan nilai balikan dapat memperlambat proses. Setiap pemanggilan method memerlukan setup pemanggilan melalui jaringan, dan selanjutnya data dikirim melalui jaringan, yang merupakan resource bersama. Singkatnya, keputusan tentang apakah akan menggunakan interaksi distributed atau lokal harus dipertimbangkan dengan hatihati dalam setiap kasus. Keunggulan distributed komponen adalah transparansi lokasi yang disediakan di modek ini, termasuk peningkatan fault tolerance dan load balancing. Transparansi Lokasi Transparansi Lokasi adalah salah satu tujuan dari desain distributed komponen model di platform Java EE. Transparansi lokasi berarti bahwa dalam setiap interaksi antar komponen, komponen pemanggil yang tidak perlu memperhatikan fisik lokasi Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 6 of 29

7 dari target komponen. Dalam prakteknya, dalam sebuah sistem besar, masingmasing komponen dapat digunakan di lebih dari satu host, yang memiliki manfaat penting sebagai berikut: Load balancing Panggilan dapat diputar antar host untuk berbagi beban secara keseluruhan. Fault tolerance Jika terjadi kegagalan pada saat memproses panggilan, panggilan dapat diarahkan ke host lain, sementara host yang gagal akan diperbaiki. Adalah tanggung jawab dari vendor server aplikasi untuk mewujudkan fitur ini. Adalah tanggung jawab anda untuk membuat komponen yang sesuai dengan spesifikasi, yang secara otomatis menghasilkan keunggulan transparansi lokasi. Naming Service dalam Komponen Model Dalam model komponen Java EE, beberapa komponen dapat berinteraksi satu sama lain hanya dengan interface. Oleh karena itu, komponen yang memerlukan suatu mekanisme untuk mendapatkan referensi dari interface komponen lain tanpa membuat implementasinya. Fasilitas untuk mendapatkan referensi dari interface komponen lain adalah yang disediakan oleh naming service. Server aplikasi menyediakan fasilitas bagi komponen yang ada di dalamnya sebuah pusat repositori komponen yang dapat diakses dengan menggunakan namanya. Gambar 2-4 menunjukkan proses penggunaan naming service untuk mencari informasi rujukan. Membangun Aplikasi dengan Platform Java EE Page 7 of 29

8 Gambar 2-4 Naming Service dalam Komponen Model Tiga langkah dalam Gambar 2-4 akan dijelaskan sebagai berikut: 1. Setelah sebuah aplikasi dideploy ke server aplikasi, semua komponen yang dapat diakses oleh klien terdaftar pada naming service. Pada contoh, komponen yang diberi nama Component2 diterbitkan. Komponen ini mengimplementasikan interface, yang disebut Interface2. 2. Komponen klien, sebut saja Component1, dapat melakukan pemanggilan ke method pada Component2 melalui Interface2. Untuk mendapatkan referensi ke Interface2, Component1 melakukan lookup menggunakan nama alias dari Component2 yang terdaftar di naming service. 3. Naming service menyediakan instance dari komponen yang mengimplementasikan Interface2. Objek yang disediakan tidak selalu merupakan instance dari Component2, objek yang diberikan mungkin proxy untuk Component2, tetapi ini tidak terlihat oleh Component1. Component1 yang kemudian dapat melakukan pemanggilan method pada Component2 menggunakan Interface2. Penggunaan Java dan Naming Directory Interface (JNDI) API dalam Java EE Komponen Model Aplikasi Java EE menggunakan JNDI API sebagai layanan untuk pencarian nama yang umum untuk mencari komponen, resource eksternal, dan property environtment komponen. JNDI API merupakan ringkasan detail dari protokol penamaan dan implementasinya. Menggunakan JNDI API sebagai media pencarian nama mirip penggunaannya untuk berkomunikasi dengan eksternal naming service, seperti direktori server. Namun, hanya sebagian dari API yang diperlukan bila JNDI API digunakan dalam konteks aplikasi Java EE. Dalam prakteknya, banyak server aplikasi menggunakan infrastruktur CORBAcompliant RMI, dan implementasi yang mendasari JNDI API adalah naming service CORBA. Atau, dalam pelaksanaan mungkin menggunakan LDAP, atau sesuatu yang proprietary. Dalam kebanyakan kasus protokol yang tidak memiliki efek pada pengembang aplikasi, karena API membungkus detailnya. Interface Context dan Objek InitialContext Interface Context (javax.naming.context) merupakan dasar untuk semua operasi yang terkait dengan naming service. Object InitialContext merupakan implementasi dari interface Context, dan merupakan entry point ke naming service. Pekerjaan yang terkait dengan JNDI API biasanya dimulai dengan membuat instance objek InitialContext. Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 8 of 29

9 Namespace yang dapat diakses melalui JNDI bisa berupa hirarki. Pekerjaan lookup pada sebuah instance dari class yang meng-implements pada interface Context akan menghasilkan object atau dalam bentuk subcontext. Subcontext juga mengimplements pada interface Context dan dapat digunakan sebagai dasar untuk melakukan lookup yang baru. Kode 2-1 menunjukkan dua cuplikan kode yang secara praktek memiliki efek yang sama. Kode 2-1 Melakukan Operasi Lookup 1 Context c = new InitialContext(); 2 Object o = c.lookup("aaa/bbb"); Atau: 1 Context c = new InitialContext(); 2 Context subcontext = (Context) c.lookup("aaa"); 3 Object o = subcontext.lookup("bbb"); Semua operasi di JNDI API dapat melempar NamingException, maka exception ini harus ditangani di dalam kode. Mengkonfigurasi Objek InitialContext Pada saat JNDI API digunakan di dalam komponen, kontainer harus menyediakan konfigurasi ke class InitialContext. Anda hanya perlu menggunakan default constructor dari class InitialContext untuk membuat objeck InitialContext sebagai berikut: Context c = new InitialContext(); Bila anda menggunakan JNDI API di luar konteks server aplikasi, anda mungkin diminta untuk memberikan informasi konfigurasi. Informasi ini berbeda antara naming service yang satu dengan yang lainnya, tetapi biasanya terdapat dua buah informasi yang diperlukan: Nama dari kelas yang meng-implements naming protocol Universal Resource Locator (URL) yang menentukan lokasi naming service Informasi ini biasanya diberikan dalam bentuk pasangan nama dan nilainya dalam objek Properties yang dikirim di dalam konstructor objek InitialContext atau disimpan di dalam file properti yang secara otomatis dibaca di konstruktor InitialContext. Kode 2-2 menunjukkan sebuah contoh bagaimana mengkonfigurasi sebuah naming context untuk server aplikasi glassfish. Membangun Aplikasi dengan Platform Java EE Page 9 of 29

10 Kode 2-2 Konfigurasi sebuah Naming Context Properties props = new Properties(); props.setproperty("java.naming.factory.initial", "com.sun.enterprise.naming.serialinitcontextfactory"); props.setproperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming"); props.setproperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.jndistatefactoryimpl"); // optional. Defaults to localhost. Only needed if web server is running // on a different host than the appserver props.setproperty("org.omg.corba.orbinitialhost", "localhost"); // optional. Defaults to Only needed if target orb port is not props.setproperty("org.omg.corba.orbinitialport", "3700"); InitialContext ic = new InitialContext(props); Perlu diingat bahwa konfigurasi ini hanya diperlukan untuk mengakses ke salah satu komponen EJB dari komponen klien yang berada di luar server aplikasi Java EE. Menggunakan JNDI API sebagai Resource Locator Di dalam sebuah lingkungan komponen, anda dapat menggunakan JNDI API unrtuk mencari objek selain komponen. Misalnya, anda dapat menggunakan JNDI API panggilan menemukan beberapa objek berikut: Koneksi ke relational database Koneksi ke messaging services Tujuan (alamat) dari (pengiriman) message Environment komponen variabel Koneksi ke legacy sistem yang didukung oleh resource adapters Narrowing dan Objek Remote Untuk semua lookup yang menggunakan JNDI API, tipe yang didapat dari method lookup diubah ke tipe yang sesuai. Misalnya, koneksi ke relational database yang di dapat dalam bentuk data objek DataSource (javax.sql.datasource). Kode 2-3 menunjukkan kode yang diperlukan untuk mencari resource database yang bernama jdbc/bank. Kode 2-3 Looking Up sebuah Data Resource 1 Context c = new InitialContext(); 2 DataSource ds = (DataSource)c.lookup("jdbc/bank"); Jika tipe objek yang dikembalikan dari hasil lookup tidak diharapkan, maka pemanggil akan mendapatkan ClassCastException. Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 10 of 29

11 Selain itu, untuk remote objek, hasil lookup memerlukan narrowing tipe yang sesuai. Narrowing ini untuk memastikan kompatibilitas dengan berbagai macam jenis infrastruktur RMI. Kode 2-4 menunjukkan proses narrowing ini. Kode 2-4 Narrowing Nilai Balikan sebuah Lookup 1 Context c = new InitialContext(); 2 Object o = c.lookup("ejb/bankmgr"); 3 BankMgr bankmgr = (BankMgr) 4 javax.rmi.portableremoteobject.narrow 5 (o, BankMgr.class); Satu hal yang perlu anda ingat bahwa bila klien dari Java EE komponen meminta referensi lokal, bukan referensi remote, hasil lookup JNDI API bukan merupakan remote objek dan tidak memerlukan proses narrowing. Menggunakan Komponen Context untuk Mencari Komponen Komponen EJB di Java EE memiliki referensi ke sebuah objek EJBContext yang menyediakan akses ke services yang di sediakan oleh kontainer, seperti informasi keamanan, transaksi, dan lookup ke resource. Karena EJBContext objek yang digunakan untuk menyediakan beberapa informasi penting, umumnya sudah ada dalam sebuah komponen EJB. Objek EJBContext yang bekerja dengan cara yang sama dengan JNDI Context dan dapat digunakan di tempat JNDI Context jika dikehendaki. Objek EJBContext melakukan JNDI lookups dalam java:comp/env JNDI Context dan dapat digunakan untuk mencari referensi ke EJB, DataSources, dan referensi ke resource yang lain yang dapat disimpan dalam JNDI. Menggunakan EJBContext menghapus pembuatan objek baru InitialContext yang berulang-ulang dan penanganan exception yang lebih sederhana, dimana hanya di sebabkan oleh runtime exception saja. Objek EJBContext dapat digunakan untuk mencari referensi ke Home dari EJB 2.1. Bahkan untuk mencari referensi ke Remote Home EJB 2.1, penggunaan PortableRemoteOjbect.narrow tidak diperlukan. Kode 2-5 Menggunakan EJBContext untuk melakukan Lookup 1 import javax.ejb.*; 2 import javax.annotation.*; 3 5 public class MySessionBean implements MyInterface { 6/ private javax.ejb.sessioncontext context; 8 Membangun Aplikasi dengan Platform Java EE Page 11 of 29

12 9 public void mymethod() { 10 BankMgr bankmgr = (BankMgr)context.lookup( ejb/bankmgr ); 11 } 12} Menggunakan Dependency Injection untuk Mencari Komponen Dependency injection bukan merupakan konsep baru, sebelumnya nama desain pattern dependency injection adalah inversion of control (sering disingkat sebagai IoC). Ide dibalik dependency injection adalah untuk menghapus penulisan kode lookup yang sering dilakukan oleh developer. Resource lookup di Java enterprise biasanya dilakukan dengan JNDI. Dependency injection menghilangkan beberapa, namun tidak semua, JNDI coding masih diperlukan di beberapa jenis komponen Java EE. Dependency injection memerlukan penggunaan Java annotations. Java annotations adalah fitur baru pada platform Java SE 5. Annotations memberikan cara untuk menanamkan data tentang class, variabel, dan method dalam kode dan juga di file class hasil kompilasi. Data yang ditambahkan ke file kelas dapat diabaikan oleh Java Runtime Environment jika tidak diperlukan. Perangkat lunak, seperti server aplikasi Java EE 5 dapat memeriksa keberadaan annotations menggunakan paket Java reflection. Untuk mengimplementasikan dependency injection, server aplikasi memberikan nilai referensi ke variabel sebelum dapat digunakan. Untuk menjamin server aplikasi memiliki kesempatan untuk dapat melakukan injeksi, komponen harus memiliki lifecycle yang diatur oleh server. Jenis komponen yang disebut juga sebagai managed components, termasuk Servlets, JSPs, dan EJBs. Java class memerlukan developer untuk menulis kode lookup ke JNDI. Dalam versi Java Enterprise sebelumnya, developer dan deployer diperlukan untuk membuat dan mengedit sejumlah besar xml deployment descriptor. Dalam Java EE 5 platform, annotations dan dependency injection menggantikan kebutuhan sebagian besar deployment descriptor. Kode 2-6 Dependency Injection sebagai Alternatif ke lookup 1 import javax.ejb.*; 2 4 public class MySessionBean implements MyInterface { 5 private BankMgr bankmgr; 7 8 } Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 12 of 29

13 Model Komunikasi Asynchronous Ada dua cara dasar bagaimana sebuah komponen dapat berinteraksi dengan komponen lainnya, synchronous atau asynchronous. Meskipun setiap model interaksi memiliki tempat dalam model pemrograman Java EE, model yang asynchronous, pada beberapa kasus, memberikan keuntungan berbeda. Perbandingan Interaksi Komponen Synchronous dan Asynchronous Interaksi komponen secara synchronous, apakah lokal atau distributed, mengikuti dasar semantic request-response. Komunikasi antara browser web dan komponen web melalui HTTP menggunakan semantic request-resopnse. Interaksi synchronous yang dicirikan dengan komponen pemanggil akan terblokir sampai proses selesai dikerjakan dan response dikembalikan secara langsung kepada pemanggil. Interaksi synchronous tidak cocok untuk operasi yang memerlukan banyak waktu untuk menyelesaikan pekerjaan. Interaksi asynchronous menggunakan sematik request-notification. Yaitu, pemanggil mengirimkan request dan kemudian melanjutkan proses selanjutnya. Pemanggil tidak akan terblokir sewaktu menunggu adanya response. Sebaliknya, pemanggil akan menerima notifikasi di beberapa waktu kemudian. Semantic requestnotification memungkinkan aplikasi untuk mendukung operasi yang memerlukan waktu yang lama untuk selesai, dan juga mengurangi ketergantungan antara komponen. Interaksi Komponen Asynchronous Gambar 2-5 menunjukkan sebuah contoh dari aplikasi yang menggunakan interaksi asynchronous antara komponen-komponen untuk mendukung sebuah legacy system. Membangun Aplikasi dengan Platform Java EE Page 13 of 29

14 Gambar 2-5 Interaksi Komponen Asynchronous Langkah-langkah pada Gambar 2-5 dapat digambarkan sebagai berikut: 1. Sebuah komponen yang bertindak sebagai klien mengirimkan order kepada sebuah legacy system yang mengerjakan sejumlah proses. Selanjutnya legacy system, yang kemungkinan memiliki ratusan order yang lain yang juga akan di proses sehingga memerlukan waktu yang panjang untuk memproses order dari klien. 2. Bila legacy sistem sudah selesai memproses order, ia akan memberitahu komponen lain. 3. Komponen ini akan melakukan update ke database terkait dengan informasi status order. 4. Jika klien meminta informasi tentang status order, komponen dapat memeriksa status order pada database. Langkah terakhir ini dapat dilakukan dengan menggunakan interaksi synchronous, atau pesan asynchronous, atau menerima pemberitahuan. Asynchronous Messaging J2EE platform 1.3 memerlukan server aplikasi untuk memberikan layanan messaging yang mendukung interaksi komponen secara asynchronous. Selain itu, diawali dengan J2EE platform 1.4, server aplikasi harus menyediakan infrastruktur untuk XML messaging berdasarkan model web service. Komponen menggunakan JMS API untuk mengirim pesan ke komponen lain atau Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 14 of 29

15 resource eksternal. Message-driven beans bertindak sebagai konsumen message baik dari komponen lain atau dari resource eksternal. Kelebihan dan Kekurangan Interaksi Asynchronous Penggunaan komponen asynchronous interaksi menawarkan dua keunggulan: Mengurangi ketergantungan antara komponen Keuntungan ini dalam jangka panjang dapat mengurangi biaya manajemen perangkat lunak. Mengurangi ketergantungan antara komponen merupakan prinsip standar rekayasa perangkat lunak, karena semakin sedikit ketergantungan antara komponen yang ada, akan semakin mudah untuk mengatur komponen secara bebas. Model interaksi asynchronous menawarkan loose coupling antar komponen. Mengakomodir proses yang memerlukan waktu yang panjang untuk diselesaikan Terdapat dua kekurangan sehubungan dengan model interaksi komponen secara asynchronous jika dibandingkan dengan interaksi secara synchronous: Penanganan infrastruktur yang lebih kompleks Penggunaan resource jaringan yang kurang efisien Membangun Aplikasi dengan Platform Java EE Page 15 of 29

16 Membangun Aplikasi Java EE Pembangunan aplikasi Java EE biasanya dilakukan oleh sekelompok orang, masingmasing dengan peran dan tanggung jawab masing-masing, seperti sistem arsitek, pembuat komponen, dan assembler aplikasi. Roles di Java EE Spesifikasi Java EE mendefinisikan beberapa peran yang terlibat dalam pengembangan, deployment, dan manajemen dari sebuah aplikasi enterprise. Meskipun sebagian besar organisasi memiliki strategi untuk membagi pekerjaan di antara anggota tim proyek, spesifikasi Java EE memberikan acuan, sedikit banyak, cara ini adalah yang harus dilakukan. Yang termasuk peran di Java EE: Pembuat Komponen Aplikasi Pembuat komponen aplikasi membangun komponen Java EE. Komponenkomponen ini antara lain komponen EJB, komponen Web, dan mungkin resource Adapter. Output dari peran ini adalah class yang sudah terkompile dan XML deployment descriptors. Descriptors yang mungkin belum lengkap yang nantinya akan dilengkapi oleh peran yang lain. Output dari proses ini dapat digunakan pada platform yang memenuhi persyaratan Java EE spesifikasi. Pembuat komponen aplikasi menghasilkan komponen yang vendor netral. Assembler Aplikasi Assembler aplikasi menggunakan komponen yang sudah selesai dibuat oleh pembuat komponen aplikasi, selanjutnya komponen-komponen tersebut dirangkai sehingga menjadi sebuah aplikasi. Komponen itu sendiri di dapat dari berbagai sumber, termasuk sumber dari luar organisasi. Assembler aplikasi menyelesaikan penggabungan antra komponen yang satu dengan yang lainnya dan melakukan konfigurasi komponen-komponen sesuai dengan perannya di dalam aplikasi secara keseluruhan. Assembler aplikasi juga menghasilkan aplikasi yang vendor netral. Deployer Deployer yang bertanggung jawab untuk mendeploy aplikasi yang sudah dibuat oleh assembler aplikasi ke lingkungan server aplikasi tertentu. Deployer yang bertanggung jawab untuk penggabungan ke resource eksternal, mengkonfigurasi lingkungan runtime aplikasi, dan integrasi aplikasi dengan infrastruktur keamanan. Sistem Administrator Sistem administrator memelihara dan memonitor lingkungan server aplikasi dan memastikan bahwa kinerja optimal dapat tercapai. Misalnya, peran ini mungkin akat terlibat untuk pembuatan keputusan pada hal yang terkait dengan load balancing dan redundansi. Tool Provider Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 16 of 29

17 Tool provider menyediakan tool yang terkait dengan pembangunan, pengemasan, assembler, dan tool untuk deployment. Produk Provider Produk provider adalah vendor dari server aplikasi, hardware pendukung dan software pendukung lainnya, misalnya sistem operasi, database. Tahapan Untuk Mengembangkan Aplikasi Java EE Mengembangkan aplikasi Java EE umumnya memerlukan melaksanakan tugas-tugas berikut: Pembuatan Design Seperti dalam proyek yang lain, desain adalah salah satu langkah yang paling penting. Cukup dengan menggunakan framework aplikasi Java EE dapat menyelesaikan banyak masalah, misalnya bagaimana menerapkan manajemen keamanan atau transaksi di aplikasi. Java EE biasanya melibatkan desain yang lebih tinggi tingkat abstaksi, seperti menentukan komponen apa yang akan digunakan di tier presentasi atau di tier logika bisnis. Seorang sistem arsitek mendesain arsitektur aplikasi dan menentukan komponen interface. Design aplikasi yang bagus akan memudahkan tahapan pembuatan aplikasi yang selanjutnya. Pembuatan kode Pada tahap ini, pengembang komponen membuat implementasi dari Java EE komponen. Membuat kode, mengkompile, dan mendebug komponen untuk memastikan bahwa mereka memenuhi kontrak interface. Unit testing adalah bagian penting dari setiap proses pembangunan aplikasi. Pembuatan kode dapat dilakukan dalam editor, kompilasi, dan pengujian dapat dilakukan secara manual atau menggunakan tool. Komponen aplikasi Java EE dapat dikembangkan untuk aplikasi tertentu atau mereka mungkin dibuat untuk keperluan umum atau bagian dari library perangkat lunak. Membuat deployment descriptor Penyedia komponen menggunakan XML deployment descriptor untuk mendaftarkan resource dan komponen lain yang digunakan oleh komponen Java EE, serta nama-nama yang digunakan untuk mengakses ke komponen atau resource tersebut. Komponen yang belum diprogram koneksinya ke resource yang berada di luar dapat digunakan dalam beberapa aplikasi. Akhirnya, aplikasi server dan membuat koneksi ke resource dan menyambungkan referensi antara komponen yang satu dengan komponen yang lain dengan menggunakan informasi yang ada di dalam deployment descriptor. Anda dapat membuat deployment descriptor menggunakan teks editor atau dengan tool dari pihak ketiga atau tool yang sudah di sediakan oleh vendor. Pengemasan Membangun Aplikasi dengan Platform Java EE Page 17 of 29

18 Kumpulan file class tidak dianggap sebagai komponen sampai dikemas menjadi sebuah komponen. Semua file yang bersangkutan harus bersama-sama dikemas di dalam sebuah arsip file yang sesuai. Pengemasan ini dapat dilakukan secara manual dengan menggunakan tool command-line atau dengan bantuan tool lain. Assembling Pada tahap ini, komponen aplikasi digabungkan menjadi sebuah aplikasi yang dapat digunakan. Bagian dari proses ini melibatkan memecahkan referensi antara komponen yang dapat disediakan oleh berbagai komponen vendor. Deployment Aplikasi tersebut harus dideploy ke server aplikasi secara manual atau menggunakan tool yang sudah disediakan oleh vendor. Langkah ini biasanya melibatkan konfigurasi yang vendor spesifik dari komponen aplikasi atau lingkungan runtime, seperti load-balancing. Kebanyakan vendor server menyediakan sebuah tool untuk menyelesaikan tahapan deployment. Gambar 2-6 mengilustrasikan bagaimana komponen aplikasi digabungkan ke dalam modul-modul aplikasi yang kemudian dideploy sebagai satu kesatuan aplikasi ke dalam sebuah server aplikasi. Gambar 2-6 Proses Pembangunan Aplikasi Java EE Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 18 of 29

19 Perbandingan Beberapa Pilihan Development Anda dapat mengembangkan aplikasi Java EE dan komponen aplikasi menggunakan sejumlah tools dan teknik. Pilihan Development Anda dapat membuat komponen Java EE menggunakan berbagai perangkat, seperti teks editor untuk pembuatan kode dan mengedit file, command line kompiler, tool untuk deployment dan tool untuk assembly, atau satu lingkungan terpadu yang mengatur seluruh siklus yg berulang pembangunan di bawah atap satu aplikasi. Beberapa pilihan ini disajikan pada bagian ini. Packaging tools Standalone packaging tool memungkinkan anda untuk mengassembly file class, deployment descriptors, dan file lainnya ke dalam sebuah file EAR yang siap dideploy. Alat ini mungkin juga menjelaskan ketergantungan eksternal dari aplikasi yang harus diselesaikan dalam proses deployment. Makefiles Makefiles dapat membantu proses pembangunan secara otomatis dengan menempatkan pembangunan repetitif langkah ke file-file script. Make program akan menafsirkan makefiles. Makefiles dapat berisi prosedur dan dependensi. Meskipun makefiles telah digunakan sekitar untuk dekade, mereka dapat kompleks untuk mengatur dan memeliharanya. Karena mereka juga bergantung pada platform, sebuah makefile dari satu platform tidak mungkin untuk dapat digunakan sebagai makefile di platform yang lain. Apache ANT ANT Java adalah perangkat development yang identik dengan make, tetapi dapat di perluas penggunaannya dengan menggunakan class Java. Karena ANT berbasis teknologi Java, adalah platform independen. ANT dapat diintegrasikan dengan berbagai macam IDE untuk bahasa pemrograman Java. Integrated Development Environments (IDE) IDE memberikan lingkungan end-to-end untuk coding, pengemasan, dan deployment. Dalam beberapa kasus, IDE memberikan lingkungan end-to-end untuk menyediakan konfigurasi aplikasi Java EE yang spesifik milik vendor tertentu. IDEs biasanya memiliki fitur sebagai berikut: o Sebagai editor o Kemampuan untuk mengatur komponen Java EE secara grafis o Kemampuan untuk melakukan kompilasi dari dalam IDE o Kemampuan untuk melakukan debug pada kode sumber o Kemampuan untuk mengedit deployment descriptors secara grafis o Kemampuan untuk mendeploy ke satu atau lebih server aplikasi Membangun Aplikasi dengan Platform Java EE Page 19 of 29

20 Netbeans 6.5 IDE menyediakan semua fitur dan lebih banyak lagi. Netbeans menyediakan fitur-fitur lainnya, seperti eksplorasi database, pembuatan class entity dari struktur data yang ada, kemampuan melakukan refactoring, dan juga dapat diextens dengan menggunakan plug-in, yang memberikan kemampuan lebih luas lagi. Sistem Pengontrol Source Code Pembangunan proyek-proyek besar dengan beberapa pengembang memiliki beberapa masalah unik yang perlu dipecahkan. Salah satu hal yang penting adalah bagaimana caranya dua atau lebih developer tidak mengedit file yang sama pada saat yang sama, karena modifikasi yang dilakukan oleh satu orang dapat menghilangkan yang lain, yang akan menyebabkan pekerjaan yang sudah dilakukan akan hilang. Akibatnya, pembangunan proyek-proyek besar membutuhkan penggunaan sistem pengontrol source code, yang memungkinkan untuk check-out dan check-in dari source code. Sistem yang baik juga memungkinkan untuk membagi pekerjaan dengan membuat cabang-cabang seperti organisasi, dan memiliki kemampuan untuk membantu dalam menyelesaikan pada saat terjadi konflik dengan memperhatikan ranting organisasi yang ada. Lebih rinci penjelasan tentang sistem pengontrol source code tidak dijelaskan di dalam materi ini. Netbeans menyediakan kemampuan untuk berintegrasi terpadu dengan CVS dan Subversion dengan dukungan instalasi plugin gratis. Gambar 2-7 menggambarkan sistem pengontrol source code yang digunakan. Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 20 of 29

21 Gambar 2-7 Sistem Pengontrol Source Code Membangun Aplikasi dengan Platform Java EE Page 21 of 29

22 Konfigurasi dan Pengemasan Aplikasi Java EE Dalam pembangunan proyek besar, sejumlah pengembang atau tim pengembangan dapat berkontribusi untuk membuat komponen-komponen yang mneyusun aplikasi Java EE. Pengembang mempersiapkan komponen individu untuk distribusikan dengan cara komponen tersebut dikemas ke dalam file arsip yang berisi file class yang relevan dan XML deployment descriptors. Format file arsip dan informasi yang terdapat di dalam deployment descriptor tergantung pada jenis komponen. Arsip komponen digabungkan ke dalam modul-modul aplikasi yang kemudian dikemas menjadi super arsip, yang merupakan arsip yang membangun sebuah aplikasi yang menyeluruh. Karena isi dan struktur file arsip yang disesuaikan dengan spesifikasi standar Java EE, anda dapat membuat arsip Java EE komponen menggunakan platform yang sudah memenuhi persyaratan pengarsipan komponen Java EE. Ada empat dasar jenis file arsip yang digunakan dalam proyek pengembangan platform Java EE: File Arsip Web (WAR) File Arsip Java (JAR) File Arsip Resource (RAR) File Arsip Enterprise (EAR) Setiap jenis file arsip secara deklaratif mendefinisikan karakteristik operasi dan persyaratan dari komponen yang diarsip menggunakan deployment descriptor. Komponen aplikasi Java EE biasanya dibuat dalam modul-modul yang dijadikan sebagai dasar untuk puatan file arsip. Sebuah modul Java EE terdiri dari satu atau lebih komponen Java EE untuk jenis kontainer yang sama dan satu komponen deployment descriptor untuk jenis tersebut. Misalnya, EJB komponen dikembangkan sebagai bagian dari modul EJB yang kemudian digunakan untuk membuat file EJB JAR. File Arsip Web Gambar 2-8 menunjukkan elemen mendasar yang membangun sebuah aplikasi web. Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 22 of 29

23 Gambar 2-8 Elemen Aplikasi Web Meskipun pada gambar diatas hanya menunjukkan salah satu ikon untuk setiap jenis elemen atau jenis komponen, mungkin ada ratusan setiap jenis elemen yang ada dalam aplikasi web. Seperti diilustrasikan dalam Gambar 2-9, isi aplikasi web yang dikompresi sebagai file arsip web untuk distribusikan dan penggabungan sebagai bagian dari aplikasi Java EE yang siap dideploy. Membangun Aplikasi dengan Platform Java EE Page 23 of 29

24 Gambar 2-9 Pembuatan File Arsip Web File web arsip menggunakan ekstensi file.war. File Arsip Java File arsip Java (JAR) menyediakan mekanisme standar untuk pengemasan dan pendistribusian file class Java dan resource terkait. File JAR biasanya diberi nama yang diakhiri dengan ekstensi.jar. Java EE menentukan spesifikasi file JAR sebagai format untuk pengemasan komponen EJB dan klien Java EE. Seperti diilustrasikan dalam Gambar 2-10, file EJB JAR berisi file class Java dan interface yang digunakan untuk membuat suatu komponen EJB, bersama dengan deployment descriptor. Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 24 of 29

25 Gambar 2-10 Isi sebuah file JAR komponen EJB Demikian pula, komponen klien Java EE dikemas menjadi file JAR. Tujuan pengemasan kode klien ini adalah untuk memberi kesempatan kepada server aplikasi untuk menambahkan infrastruktur keamanan untuk aplikasi. Ingat bahwa keamanan bukan merupakan tanggung jawab pengembang dalam platform Java EE. Dengan aplikasi berbasis web, keamanan dilakukan di sisi server web, jadi JAR klien tidak diperlukan. Dengan aplikasi Java yang standalone, infrastruktur keamanan aplikasi membatasi akses yang dilakukan oleh klien ke komponen EJB sesuai dengan kebijakan keamanan. File Arsip Resource Sebuah reource adaptor adalah komponen perangkat lunak yang menjadi media penghubung manajemen transaksi, keamanan, dan resource pooling subsystems yang dimiliki oleh kontainer. Sebuah resource adaptor dapat meminta akses ke sistem, melebihi apa yang akan diizinkan untuk sebuah enterprise bean. Resource adapter dapat membuat panggilan secara native, atau membuat socket di jaringan, membuat dan menghapus thread, dan membaca dan menulis file. Tidak ada tindakan yang diperbolehkan untuk enterprise bean. Membangun Aplikasi dengan Platform Java EE Page 25 of 29

26 Suatu komponen pengembang mengemas resource adapter ke RAR file yang memiliki nama dengan ekstensi.rar. Rar file dapat berisi resource adapter, class Java, dan deployment descriptor. File Arsip Enterprise Arsip super yang disebut juga dengan arsip enterprise atau file EAR. File-file ini biasanya diberikan nama dengan ekstensi.ear. Struktur file EAR dibuat dengan cara yang sama seperti File Arsip Java. EAR file yang berisi file arsip komponen EJB, file arsip komponen web, file arsip resource adaptor, dan file arsip untuk klien. Gambar 2-11 menggambarkan isi dari sebuah file EAR. Deployment Descriptor Gambar 2-11 Isi File EAR Modul 2 Model Komponen Java EE dan Langkah-Langkah Pembangunan Aplikasi Java EE Page 26 of 29

Enterprise Java Beans (EJB)

Enterprise Java Beans (EJB) Enterprise Java Beans (EJB) P E N G E M B A N G A N A P L I K A S I E N T E R P R I S E ( C ) 2 0 1 6 N I K O I B R A H I M F A K U L T A S T E K N O L O G I I N F O R M A S I U N I V E R S I T A S K R

Lebih terperinci

BAB 1 Service Oriented Architecture 1.1 Evolusi SOA

BAB 1 Service Oriented Architecture 1.1 Evolusi SOA BAB 1 Service Oriented Architecture 1.1 Evolusi SOA Dengan melakukan penelusuran evolusi pola-pola integrasi, maka dapat ditunjukkan bahwa SOA merupakan teknik integrasi yang dibangun berdasarkan teknologi

Lebih terperinci

BS603 PENGEMBANGAN APLIKASI ENTERPRISE Niko Ibrahim, S.Kom, MIT

BS603 PENGEMBANGAN APLIKASI ENTERPRISE Niko Ibrahim, S.Kom, MIT BS603 PENGEMBANGAN APLIKASI ENTERPRISE 2016 - Niko Ibrahim, S.Kom, MIT Silabus BS603 Aturan dan tata cara kuliah Tujuan Perkuliahan Materi kuliah Buku referensi Tugas dan Quiz Ujian Tengah dan Akhir Semester

Lebih terperinci

KOMUNIKASI PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Komunikasi Data 2. Protocol 3. Remote Procedure Call 4. Object Remote

KOMUNIKASI PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Komunikasi Data 2. Protocol 3. Remote Procedure Call 4. Object Remote KOMUNIKASI PENGANTAR DATA TERDISTRIBUSI Materi: 1. Komunikasi Data 2. Protocol 3. Remote Procedure Call 4. Object Remote Komunikasi Data Komunikasi data adalah merupakan bagian dari telekomunikasi yang

Lebih terperinci

DISTRIBUTED OBJECT CORBA & RMI. Sistem terdistribusi week 13

DISTRIBUTED OBJECT CORBA & RMI. Sistem terdistribusi week 13 DISTRIBUTED OBJECT CORBA & RMI Sistem terdistribusi week 13 Outline Arsitektur CORBA Komponen utama CORBA Komponen Corba pada client Komponen Corba pada server Komponen utama penyusun CORBA Sistem keamanan

Lebih terperinci

BAB V Remote Procedure Call (RPC)

BAB V Remote Procedure Call (RPC) BAB V Remote Procedure Call (RPC) Remote Procedure Call (RPC) sangat mirip dengan Remote Method Invocation, pada program client yang memanggil sebuah program yang sedang berjalan di server. Server ini

Lebih terperinci

Pemrograman Jaringan 11 RMI

Pemrograman Jaringan 11 RMI Pemrograman Jaringan 11 RMI Pengantar RMI RMI adalah salah satu bagian dari J2SE yang digunakan untuk membangun aplikasi terdistribusi menggunakan bahasa Java. RMI adalah kumpulan kelas dalam Java yang

Lebih terperinci

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya Pengenalan Java Yuliana Setiowati Kilas Balik Teknologi Java Bahasa Java awalnya bernama Oak, yakni bagian dari projek Green yang dikembangkan khusus oleh Sun Microsystem untuk memprogram perangkat-perangkat

Lebih terperinci

Teknik Informatika S1

Teknik Informatika S1 Teknik Informatika S1 Rekayasa Perangkat Lunak Lanjut Pengenalan Web App + Req. Web App Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021 Aplikasi

Lebih terperinci

PENERAPAN JAVA SERVER FACES UNTUK DESIGN PATTERN WEB

PENERAPAN JAVA SERVER FACES UNTUK DESIGN PATTERN WEB PENERAPAN JAVA SERVER FACES UNTUK DESIGN PATTERN WEB Yanto (1) Abstrak: J2EE Pattern adalah kumpulan pola-pola yang digunakan dalam menyelesaikan masalah yang umumnya dihadapi oleh setiap programmer Java

Lebih terperinci

Pada akhir pembahasan, peserta diharapkan dapat :

Pada akhir pembahasan, peserta diharapkan dapat : Pengenalan Java tujuan Pada akhir pembahasan, peserta diharapkan dapat : Menjelaskan fitur-fitur teknologi Java seperti, Java Virtual Machine(JVM), garbage collection, dan code security. Menjelaskan perbedaan

Lebih terperinci

Arsitektur Web Service Web service memiliki tiga entitas dalam arsitekturnya, yaitu: 1. Service Requester (peminta layanan)

Arsitektur Web Service Web service memiliki tiga entitas dalam arsitekturnya, yaitu: 1. Service Requester (peminta layanan) 1. Pengenalan Web Service Definisi Web Service Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service

Lebih terperinci

Distributed Object CORBA and RMI

Distributed Object CORBA and RMI Distributed System Genap 2011/2012 11 Distributed Object CORBA and RMI Dahlia Widhyaestoeti, S.Kom dahlia.widhyaestoeti@gmail.com dahlia74march.wordpress.com CORBA (Common Object Request Broker Architecture)

Lebih terperinci

DOKUMEN 3. MODEL KOMPONEN Versi 1.0 DIREKTORAT JENDERAL BINA ADMINISTRASI KEUANGAN DAERAH DEPARTEMEN DALAM NEGERI REPUBLIK INDONESIA

DOKUMEN 3. MODEL KOMPONEN Versi 1.0 DIREKTORAT JENDERAL BINA ADMINISTRASI KEUANGAN DAERAH DEPARTEMEN DALAM NEGERI REPUBLIK INDONESIA DOKUMEN 3 MODEL KOMPONEN Versi 1.0 DIREKTORAT JENDERAL BINA ADMINISTRASI KEUANGAN DAERAH DEPARTEMEN DALAM NEGERI REPUBLIK INDONESIA Sistem Informasi Pengelolaan Keuangan Daerah ARSITEKTUR REFERENSI SIPKD

Lebih terperinci

Web Services merupakan salah satu bentuk implementasi dari arsitektur model aplikasi N-Tier yang berorientasi layanan. Perbedaan Web Services dengan

Web Services merupakan salah satu bentuk implementasi dari arsitektur model aplikasi N-Tier yang berorientasi layanan. Perbedaan Web Services dengan Overview Web Service (sebagai software) adalah sebuah sistem didesain untuk mendukung mesin interoperabilitas untuk berinteraksi dalam jaringan. Seringnya Web service hanya berupa application programming

Lebih terperinci

Pada Java, sebuah objek remote adalah instans dari suatu kelas yang mengimplementasikan antarmuka remote.

Pada Java, sebuah objek remote adalah instans dari suatu kelas yang mengimplementasikan antarmuka remote. Rosa Ariani Sukamto Email: rosa_if_itb_01@yahoo.com Website: http://www.gangsir.com A. REMOTE METHOD INVOCATION (RMI) (Minggu 1 Praktikum II) 1. Sekilas RMI RMI (Remote Method Application) pada Java adalah

Lebih terperinci

Firewall & WEB SERVICE

Firewall & WEB SERVICE Firewall & WEB SERVICE Definisi Firewall Umumnya ditempatkan pada batas network untuk membangun batas pinggir keamanan (security). Firewall digunakan untuk melindungi internal network dari eksternal yang

Lebih terperinci

Model Sistem Terdistribusi

Model Sistem Terdistribusi Model Sistem Terdistribusi Budi Susanto budsus@ukdw.ac.id dari Distributed System 3th, Colouris chap. 2 Model Tujuan Pengantar Menyediakan sebuah gambaran abstrak aspek yang relevan dengan sistem Menyediakan

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini.

BAB II TINJAUAN PUSTAKA. Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini. BAB II TINJAUAN PUSTAKA Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini. 2.1 Web Service Web Service adalah sekumpulan application logic beserta objek-objek dan method-method yang dimilikinya

Lebih terperinci

TUGAS SISTEM INFORMASI BERBASIS WEB. PHP Web Service. Nama : Ilham NIM : Kelas : 6B. Daftar isi

TUGAS SISTEM INFORMASI BERBASIS WEB. PHP Web Service. Nama : Ilham NIM : Kelas : 6B. Daftar isi TUGAS SISTEM INFORMASI BERBASIS WEB PHP Web Service Nama : Ilham NIM : 09071003024 Kelas : 6B Daftar isi FAKULTAS ILMU KOMPUTER JURUSAN SISTEM INFORMASI 2009/2010 1 1. Pengenalan web service 3 2. Apa itu

Lebih terperinci

BAB III LANDASAN TEORI. user management seperti yang diuraikan oleh definisi-definisi berikut.

BAB III LANDASAN TEORI. user management seperti yang diuraikan oleh definisi-definisi berikut. BAB III LANDASAN TEORI 3.1. Teori Umum Terdapat beberapa teori umum yang digunakan dalam implementasi web user management seperti yang diuraikan oleh definisi-definisi berikut. 3.1.1. CDM (Conceptual Data

Lebih terperinci

Pemrograman Jaringan 12 CORBA

Pemrograman Jaringan 12 CORBA Pemrograman Jaringan 12 CORBA CORBA (Common Object Request Broker Architecture) CORBA (www.corba.org) adalah cara lain untuk melakukan pemrograman jaringan terdistribusi dan open system, dimana obyek yang

Lebih terperinci

Object OOP. Polymor phism

Object OOP. Polymor phism Nama = Dony Aditya Saputra NRP = 7412040516 Jurusan = D4 LJ T.INFORMATIKA Tugas 1 Praktek Basis Data 1. Buatlah Mind Mapping untuk OOP? Oriented Programming atau OOP adalah merupakan paradigma pemrograman

Lebih terperinci

BAB II LANDASAN TEORI. Basis Data Terdistribusi didefinisikan sebagai sebuah collection of multiple,

BAB II LANDASAN TEORI. Basis Data Terdistribusi didefinisikan sebagai sebuah collection of multiple, BAB II LANDASAN TEORI 2.1 Basis Data Terdistribusi Basis Data Terdistribusi didefinisikan sebagai sebuah collection of multiple, database yang saling berkaitan secara logik yang didistribusikan melalui

Lebih terperinci

BAB 2 DASAR TEORI. 2.1 Service Oriented Architecture (SOA) Konsep Service Oriented 2-1

BAB 2 DASAR TEORI. 2.1 Service Oriented Architecture (SOA) Konsep Service Oriented 2-1 BAB 2 DASAR TEORI 2.1 Service Oriented Architecture (SOA) Saat berbicara mengenai SOA, maka terlebih dahulu harus dilakukan pembahasan mengenai services. Services adalah sebuah fungsi yang terdefinisi

Lebih terperinci

Mengenal Java RMI. Wiranti Sri Utami. Abstrak. Pendahuluan.

Mengenal Java RMI. Wiranti Sri Utami. Abstrak. Pendahuluan. Mengenal Java RMI Wiranti Sri Utami whiranty68@gmail.com Abstrak Java adalah sebuah bahasa pemrograman dan juga sebuah platform. Java juga merupakan sebuah bahasa pemrograman tingkat tinggi, salah satu

Lebih terperinci

PROSES, OBJEK DAN LAYANAN TERDISTRIBUSI

PROSES, OBJEK DAN LAYANAN TERDISTRIBUSI PROSES, OBJEK DAN LAYANAN TERDISTRIBUSI SISTEM TERDISTRIBUSI CLIENT SERVER PROSES TERDISTRIBUSI SISTEM TERDISTRIBUSI CLIENT SERVER 1 Proses terdistribusi dapat diaplikasikan pada berbagai ruang kerja,

Lebih terperinci

TUGAS AKHIR MINGGU APLIKASI KALKULATOR BERBASIS JAVA

TUGAS AKHIR MINGGU APLIKASI KALKULATOR BERBASIS JAVA TUGAS AKHIR MINGGU APLIKASI KALKULATOR BERBASIS JAVA Oleh : Nama : PUTRI INDRIYANINGSIH Npm : 1142208 STMIK AMIK BANDUNG BANDUNG 2012 BAB I PENDAHULUAN Latar Belakang Di era globalisasi saat ini perkembangan

Lebih terperinci

Pemrograman Berbasis Objek. Pengenalan Java. Entin Martiana. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Pengenalan Java. Entin Martiana. Politeknik Elektronika Negeri Surabaya Pengenalan Java Entin Martiana Sejarah Java (1) 1991, Sun dipimpin Patric Naughton dan James Gosling ingin merancang bahasa computer untuk perangkat consumer seperti cable TV Box. Karena perangkat itu

Lebih terperinci

2.1. Sistem Komunikasi

2.1. Sistem Komunikasi 2. KOMUNIKASI 2.1. Sistem Komunikasi Pembahasan : bagaimana komunikasi antar object dalam sistem terdistribusi, khususnya dengan menggunakan RMI (Remote Method Invocation) dan RPC (Remote Procedure Call).

Lebih terperinci

WEB SERVICES. Sistem terdistribusi week 12

WEB SERVICES. Sistem terdistribusi week 12 WEB SERVICES Sistem terdistribusi week 12 Outline Kegunaan web service Sejarah bahasa pemrograman Perusahaan pengusul web service Arsitektur web service Keuntungan & kekurangan wes service Kegunaan web

Lebih terperinci

BAB 3 LANDASAN TEORI

BAB 3 LANDASAN TEORI BAB 3 LANDASAN TEORI Bab ini akan membahas hal-hal yang mendasari dibuatnya aplikasi JOGIFT, arsitektur, bahasa pemrograman dan tools yang digunakan dalam pembuatan aplikasi JOGIFT. 3.1 Produk Pengertian

Lebih terperinci

Bab 1. Pengenalan JSP POKOK BAHASAN: TUJUAN BELAJAR: 1.1 Dasar JSP

Bab 1. Pengenalan JSP POKOK BAHASAN: TUJUAN BELAJAR: 1.1 Dasar JSP Bab 1 Pengenalan JSP 1 Bab 1 Pengenalan JSP POKOK BAHASAN: Dasar JSP Daur hidup JSP] Web Container Jakarta Tomcat Contex Java Virtual Machine Yang diperlukan untuk menjalankan JSP Membuat dan mendeploy

Lebih terperinci

BAB 1 PENDAHULUAN 1.1 Pendahuluan

BAB 1 PENDAHULUAN 1.1 Pendahuluan BAB 1 PENDAHULUAN 1.1 Pendahuluan Perkembangan teknologi komputer pada sisi perangkat lunak saat ini telah mengalami pergeseran yang cukup besar, yaitu dari aplikasi yang bersifat standalone menuju pada

Lebih terperinci

DAF WebProjector. Dynamic Application Form. Application Server. Service Control Manager (SCM) DB Connector RDBMS

DAF WebProjector. Dynamic Application Form. Application Server. Service Control Manager (SCM) DB Connector RDBMS EASY DAF whitepaper Pendahuluan EASY DAF adalah suatu kerangka kerja (framework) pengembangan aplikasi yang digunakan oleh perusahaan kami untuk mengembangkan aplikasi intenet, secara cepat, handal dan

Lebih terperinci

Konsep Pemrograman Berorientasi Obyek

Konsep Pemrograman Berorientasi Obyek Konsep Pemrograman Berorientasi Obyek Tujuan Pengenalan bahasa Java Memberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural.

Lebih terperinci

Tugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA)

Tugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA) Tugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA) Dengan semakin diminatinya pemrograman berorientasi obyek untuk membangun perangkat lunak menyebabkan

Lebih terperinci

TUGAS Mata Kuliah : Sistem Terdistribusi

TUGAS Mata Kuliah : Sistem Terdistribusi TUGAS Mata Kuliah : Sistem Terdistribusi OLEH : Nama : TARSO NIM : 090103193 Kelas : C (Week End) Dosen : Ardy Mulya Iswardani, S.Kom Prodgi : S1 Teknik Informatika SEKOLAH TINGGI MANAJEMEN INFORMATIKA

Lebih terperinci

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI BAB III LANDASAN TEORI 3.1. Internet Menurut Prakoso (2007), Internet adalah sebuah kumpulan jaringan komputer lokal yang menggunakan perangkat lunak internet dan protokol TCP/IP atau HTTP. Oleh karena

Lebih terperinci

Pemrograman dengan Java

Pemrograman dengan Java Pemrograman dengan Java Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui

Lebih terperinci

PRAKTIKUM. Rekayasa Web. Modul 6: Restful API Server & Client Codeigniter. Laboratorium Teknik Informatika Universitas Pasundan

PRAKTIKUM. Rekayasa Web. Modul 6: Restful API Server & Client Codeigniter. Laboratorium Teknik Informatika Universitas Pasundan PRAKTIKUM Rekayasa Web Modul 6: Restful API Server & Client Codeigniter Laboratorium Teknik Informatika Universitas Pasundan Konten modul: 1. Membaca Data Menggunakan Rest API Server & Client 2. Menambah

Lebih terperinci

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI BAB III LANDASAN TEORI III.1. Sistem Informasi Sistem informasi adalah suatu sistem yang dibuat oleh manusia yang terdiri dari komponen komponen dalam organisasi untuk mencapai suatu tujuan yaitu menyajikan

Lebih terperinci

JAVA DAN APLIKASI TEKNOLOGI INFORMASI DI JURUSAN SISTEM INFORMASI

JAVA DAN APLIKASI TEKNOLOGI INFORMASI DI JURUSAN SISTEM INFORMASI Makalah PTIK JAVA DAN APLIKASI TEKNOLOGI INFORMASI DI JURUSAN SISTEM INFORMASI Oleh: KHAIRUNNISA R (5212100148) PTIK 05 INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2012 BAB I PENDAHULUAN 1.1 Latar Belakang

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1 Tinjauan Pustaka Sistem dan pencarian dokumen dengan memanfaatkan web service pada sistem yang berbeda sebagai sumber data dan index yang telah dibuat dapat

Lebih terperinci

MERANCANG SISTEM ABSENSI KESISWAAN SMS GATEWAY

MERANCANG SISTEM ABSENSI KESISWAAN SMS GATEWAY MERANCANG SISTEM ABSENSI KESISWAAN SMS GATEWAY Dika Nurul Handayani nurul.dhandayani@gmail.com :: dnurulhandayani@wordpress.com Abstrak Sistem absensi siswa dilakukan untuk meningkatkan kedisiplinan terhadap

Lebih terperinci

Application Layer Protocol and Services DNS Service and Protocol WWW dan HTTP

Application Layer Protocol and Services DNS Service and Protocol WWW dan HTTP Application Layer Protocol and Services DNS Service and Protocol WWW dan HTTP JARINGAN KOMPUTER TEKNOLOGI INFORMASI / PROGAM VOKASI UNIVERSITAS BRAWIJAYA Disusun oleh : Zulkfli : 113140707111022 Deddy

Lebih terperinci

Bab II. TINJAUAN PUSTAKA

Bab II. TINJAUAN PUSTAKA Bab II. TINJAUAN PUSTAKA 2.1. Penelitian Terdahulu Berdasarkan penelitian penulis, aplikasi distribusi penjualan barang sudah ada. Dari aplikasi yang sudah ada tersebut penulis ingin mengembangkan lagi

Lebih terperinci

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR BAB III ANALISIS Bab ini berisi analisis mengenai aplikasi web target code generator, analisis penggunaan framework CodeIgniter dan analisis perangkat lunak code generator. 3.1 APLIKASI YANG DITANGANI

Lebih terperinci

- Topologi Jaringan. - Rancangan Agent

- Topologi Jaringan. - Rancangan Agent 6 berbasis lokasi dan printer service tersedia bebas. Pengguna dapat terhubung ke LAN dan ia akan dilayani dengan teknologi mobile agent. Lalu, client dapat mencetak dokumen miliknya melalui mobile agent.

Lebih terperinci

Objek Terdistribusi dan Remote Invocation. I Made Andhika, S.Kom

Objek Terdistribusi dan Remote Invocation. I Made Andhika, S.Kom Objek Terdistribusi dan Remote Invocation I Made Andhika, S.Kom Middleware Remote Procedure Call (RPC) client memanggil sebuah prosedur dan menjalankan pada komputer lain Pemanggilan tersebut sama seperti

Lebih terperinci

BAB III METODE PENELITIAN. ini, diantaranya adalah dengan langkah-langkah sebagai berikut :

BAB III METODE PENELITIAN. ini, diantaranya adalah dengan langkah-langkah sebagai berikut : BAB III METODE PENELITIAN 3.1 Metode Penelitian Beberapa metode penelitian dilakukan dalam penyelesaian Tugas Akhir ini, diantaranya adalah dengan langkah-langkah sebagai berikut : 3.1.1 Model Model diperlukan

Lebih terperinci

Diperkenalkan pertama oleh tim Sun System yang dipimpin Patrick Naughton dan James Gosling tahun 1991 dengan code

Diperkenalkan pertama oleh tim Sun System yang dipimpin Patrick Naughton dan James Gosling tahun 1991 dengan code PENGANTAR JAVA A. Asal Mula JAVA B. Kelebihan JAVA C. Ciri Khas JAVA D. Perangkat Lunak E. Penerapan JAVA F. Java Virtual Machine G. Pengembangan Program Java A. Asal Mula JAVA Diperkenalkan pertama oleh

Lebih terperinci

Teknik Informatika S1

Teknik Informatika S1 Teknik Informatika S1 Rekayasa Perangkat Lunak Lanjut Web App. Process and Architecture Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285640392988 SILABUS

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Aplikasi penjadwalan ujian skripsi ini pernah dibuat sebagai topik skripsi di Fakultas Teknologi Informasi Universitas Kristen Satya Wacana. Dalam pengembangannya,

Lebih terperinci

1. Hardware terdistribusi. 2. Program terdistribusi. Nama : Gede Doddi Raditya Diputra NIM : Kelas : 5.C

1. Hardware terdistribusi. 2. Program terdistribusi. Nama : Gede Doddi Raditya Diputra NIM : Kelas : 5.C Nama : Gede Doddi Raditya Diputra NIM : 0805021099 Kelas : 5.C 1. Hardware terdistribusi Hardware terdistribusi adalah hardware yang pemakaiannya bisa dipakai bersamasama (sharing) yang dihubungkan oleh

Lebih terperinci

29 Februari Introduction Of Java

29 Februari Introduction Of Java 29 Februari 2012 Introduction Of Java Sejarah Java Dikembangkan oleh tim Pemimpin: James Gosling Company: Sun Microsystem Agustus 1991, bernama Oak Januari 1995, berganti nama Java Dapat dijalankan di

Lebih terperinci

Citra Noviyasari, S.Si, MT SI - UNIKOM

Citra Noviyasari, S.Si, MT SI - UNIKOM Citra Noviyasari, S.Si, MT SI - UNIKOM Diagram class sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class

Lebih terperinci

SISTEM OPERASI TERDISTRIBUSI

SISTEM OPERASI TERDISTRIBUSI SISTEM OPERASI TERDISTRIBUSI PENGANTAR DATA TERDISTRIBUSI Materi: 1. Pendahuluan 2. Manfaat Sistem Operasi Terdistribusi 3. Komponen Inti Sistem Operasi Pertemuan: 5 Pendahuluan Sistem operasi terdistribusi

Lebih terperinci

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI BAB III LANDASAN TEORI Pada bab ini akan dibahas berbagai teori yang melandasi dalam membangun sistem ini. 3.1 Sistem Informasi Menurut Hall (2006, p6), sistem informasi adalah serangkaian prosedur formula

Lebih terperinci

Middleware Sebagai Jembatan Platform yang berbeda. Budi Susanto

Middleware Sebagai Jembatan Platform yang berbeda. Budi Susanto Middleware Sebagai Jembatan Platform yang berbeda Budi Susanto budsus@ukdw.ac.id, budsus@yahoo.com http://lecturer.ukdw.ac.id/budsus 1 Definisi Middleware Application Application Middleware Middleware

Lebih terperinci

Oracle Net Services. By: Arif Basofi

Oracle Net Services. By: Arif Basofi Oracle Net Services By: Arif Basofi Objective Menggunakan Database Control untuk Membuat listener tambahan Membuat alias-alias service Oracle Net Mengkonfigurasi connect time failover Mengontrol listener

Lebih terperinci

Web Service. Asep Herman Suyanto

Web Service. Asep Herman Suyanto Web Service Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Web service adalah sistem perangkat lunak yang dirancang untuk mendukung interaksi yang bisa beroperasi machine-to-machine

Lebih terperinci

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah ); PERTEMUAN I BAHASA PEMROGRAMAN JAVA DAN PENGENALAN NETBEANS 1. Program dan Bahasa Pemrograman Di dalam dunia komputer sering kali dijumpai istilah program dan bahasa pemrograman. Kedua istilah tersebut

Lebih terperinci

Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id

Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id Network Programming 2010 Jaringan & Aplikasinya Husni husni@if.trunojoyo.ac.id Husni.trunojoyo.ac.id Outline Sistem Tersebar Sistem Operasi Protokol Jaringan Pemrograman Java Sistem Tersebar Himpunan komputer-komputer

Lebih terperinci

BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer

BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer BAB II LANDASAN TEORI 2.1 Jaringan Komputer Jaringan komputer adalah sekumpulan peralatan atau komputer yang saling dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer terbagi

Lebih terperinci

APPLICATION LAYER. Oleh : Reza Chandra

APPLICATION LAYER. Oleh : Reza Chandra APPLICATION LAYER Oleh : Reza Chandra Sebagian besar dari kita berpengalaman menggunakan Internet melalui World Wide Web, layanan e-mail, dan file-sharing. Aplikasi ini, dan banyak lainnya, menyediakan

Lebih terperinci

Jurnal Ilmiah INOVASI, Vol.14 No.2 Hal , Mei-Agustus 2014, ISSN

Jurnal Ilmiah INOVASI, Vol.14 No.2 Hal , Mei-Agustus 2014, ISSN ANALISIS KINERJA KOMPUTASI TERDISTRIBUSI DENGAN PLATFORM WEB SERVICE MENGGUNAKAN METODE REST REPRESENTATIONAL STATE TRANSFER Oleh : Yogiswara *) ABSTRAK Teknologi Komputasi terdistribusi seperti Common

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. sebuah sistem pencarian lokasi kuliner berbasis mobile web untuk wilayah

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. sebuah sistem pencarian lokasi kuliner berbasis mobile web untuk wilayah BAB II TINJAUAN PUSTAKA DAN DASAR TEORI 2.1 Tinjauan Pustaka Dalam penelitian yang dilakukan oleh Hasan (2011) tentang aplikasi pencarian lokasi kuliner di Yogyakarta. Penelitian tersebut telah menghasilkan

Lebih terperinci

Model arsitektur Terdistribusi

Model arsitektur Terdistribusi Model arsitektur Terdistribusi Masalah Membangun SisTer Berhubungan dengan peletakan komponenkomponen dan juga relasi antar komponen Memastikan struktur arsitektur bisa memenuhi kebutuhan dan membuat sistem

Lebih terperinci

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB I PENDAHULUAN 1.1 LATAR BELAKANG BAB I PENDAHULUAN Bab ini berisi bagian pendahuluan yang mencakup latar belakang, rumusan dan batasan masalah, tujuan, metodologi pengerjaan, serta sistematika pembahasan dari Tugas Akhir ini. 1.1 LATAR

Lebih terperinci

BAB II DASAR TEORI. bersifat umum/non-spesifik (general purpose), dan secara khusus dirancang untuk

BAB II DASAR TEORI. bersifat umum/non-spesifik (general purpose), dan secara khusus dirancang untuk 5 BAB II DASAR TEORI 2.1. Java Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general

Lebih terperinci

Membuat Toko Online dengan Teknik OOP, MVC, dan AJAX

Membuat Toko Online dengan Teknik OOP, MVC, dan AJAX Membuat Toko Online dengan Teknik OOP, MVC, dan AJAX Sanksi Pelanggaran Pasal 113 Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta 1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi

Lebih terperinci

SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION

SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION Ari Muzakir Teknik Informatika Universitas Bina Darma Palembang Jl. A. Yani No. 12 Palembang email : ariemuzakir@gmail.com Abstrak Web service

Lebih terperinci

BAB 3 LANDASAN TEORI

BAB 3 LANDASAN TEORI BAB 3 LANDASAN TEORI 3.1. Sistem Informasi 3.1.1. Sistem Menurut Jerry Fitz Gerald, Arda F. Fitz Gerald dan Warren D Stalling, jr.(dalam Jogiyanto, 2002:24) dikemukakan bahwa sistem adalah suatu jaringan

Lebih terperinci

PENDAHULUAN TENTANG NETBEANS

PENDAHULUAN TENTANG NETBEANS PENDAHULUAN TENTANG NETBEANS Yuliana Setiowati Politeknik Elektronika Negeri Surabaya 1 TOPIK Pendahuluan IDE Netbeans Membuat Project Baru. 2 Konsep Netbeans Netbeans sebagai IDE ditujukan untuk memudahkan

Lebih terperinci

BAB 2 LANDASAN TEORI. disebut HTML (HyperText Markup Langauge). Pada perkembangan berikutnya,

BAB 2 LANDASAN TEORI. disebut HTML (HyperText Markup Langauge). Pada perkembangan berikutnya, BAB 2 LANDASAN TEORI 2.1 Aplikasi Web Pada awalnya aplikasi web dibangun dengan hanya menggunakan bahasa yang disebut HTML (HyperText Markup Langauge). Pada perkembangan berikutnya, sejumlah skrip dan

Lebih terperinci

SERVICE ORIENTED ARCHITECTURE (SOA)

SERVICE ORIENTED ARCHITECTURE (SOA) Implemented using Web Services SERVICE ORIENTED ARCHITECTURE (SOA) Oleh: Ahmad Syauqi Ahsan 1 TUJUAN Mengerti konsep dasar dari Service Oriented Architecture (SOA). Memahami manfaat SOA. Mengerti kapan

Lebih terperinci

Generated by Foxit PDF Creator Foxit Software For evaluation only. 17/09/ :33

Generated by Foxit PDF Creator Foxit Software  For evaluation only. 17/09/ :33 Waktu Sisa : 0:46:41 1. Berikut ini yang bukan jenis-jenis scope dalam pengaksesan object dalam aplikasi web Java: page request session application cookies 2. Format archive yang tidak dipakai dalam aplikasi

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Pengenalan Client Server Client/Server adalah arsitektur jaringan yang memisahkan client dengan server. Masingmasing client dapat meminta data atau informasi dari server. Sistem

Lebih terperinci

BAB I PENDAHULUAN I.1 Latar Belakang

BAB I PENDAHULUAN I.1 Latar Belakang BAB I PENDAHULUAN I.1 Latar Belakang Perkembangan teknologi informasi menyebabkan setiap individu ataupun kelompok mau tidak mau menerapkannya dalam segala aktifitas. Salah satu contoh penerapannya adalah

Lebih terperinci

IF5093 Java ME. Achmad Imam Kistijantoro Semester II 2006/2007. IF-ITB/AI/Mar 07. IF5093 Java ME

IF5093 Java ME. Achmad Imam Kistijantoro Semester II 2006/2007. IF-ITB/AI/Mar 07. IF5093 Java ME IF5093 Java ME Achmad Imam Kistijantoro Semester II 2006/2007 IF5093 Java ME 1 Java ME overview Java ME (Micro Edition) adalah java platform untuk consumer devices seperti handphone, PDA, TV set-top boxes

Lebih terperinci

Dasar Pemrograman Web. Pemrograman Web. Adam Hendra Brata

Dasar Pemrograman Web. Pemrograman Web. Adam Hendra Brata Dasar Pemrograman Web Pemrograman Web Adam Hendra Brata Teknologi Client Server Arsitektur Client Server Model komunikasi yang terdiri server sebagai pemberi layanan dan client sebagai pengguna layanan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 7 BAB II LANDASAN TEORI II.1 Konsep Jaringan Komputer Jaringan komputer adalah sekelompok komputer yang dihubungkan dengan yang lainnnya menggunakan protokol komnuikasi melalui media transmisi atau media

Lebih terperinci

FILE SERVICE DAN NAME SERVICE

FILE SERVICE DAN NAME SERVICE FILE SERVICE DAN NAME SERVICE PENGANTAR DATA TERDISTRIBUSI Materi: 1. Pengenalan File Service 2. Komponen File Service Interface 3. Pengenalan Name Service 4. Model Name Service Pertemuan: 6-7 Pendahuluan

Lebih terperinci

BAB III METODOLOGI. Penelitian ini dilaksanakan di Ruang Server Biro Sistem Informasi (BSI)

BAB III METODOLOGI. Penelitian ini dilaksanakan di Ruang Server Biro Sistem Informasi (BSI) BAB III METODOLOGI 3.1. Tempat dan Waktu Penelitian Penelitian ini dilaksanakan di Ruang Server Biro Sistem Informasi (BSI) yang berlokasi di Gedung AR Fachruddin B Universitas Muhammadiyah Yogyakarta,

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Instalasi Software Dalam penulisan tugas akhir ini, pembuatan program dibuat dengan menggunakan aplikasi pendukung seperti: Web Server, aplikasi pengelolaan sampah

Lebih terperinci

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI BAB III LANDASAN TEORI Pada bab ini akan dijelaskan mengenai teori dasar yang digunakan oleh penulis sebagai acuan dalam membangun aplikasi. Karena topik dari penulis memiliki sedikit nilai fotografi,

Lebih terperinci

CONTOH PENDSTRIBUSIAN HARDWARE

CONTOH PENDSTRIBUSIAN HARDWARE CONTOH PENDSTRIBUSIAN HARDWARE Jaringan komputer adalah sebuah kumpulan komputer, printer dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel-kabel atau

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Android versi 2.2 (Froyo :Frozen Yoghurt) Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahanperubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan

Lebih terperinci

Pemrograman. Fery Updi,M.Kom

Pemrograman. Fery Updi,M.Kom Pemrograman Fery Updi,M.Kom 1 Pemrograman Java Praktik Pemrograman Java SKS : 3 SKS Dosen : Fery Updi,M.Kom Email : updi.fery@gmail.com WA : 0822-9961-8593 Jadwal Kuliah : Sesi 1 : Selasa, 18.00 20.00

Lebih terperinci

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum Bab 2: Struktur Sistem Operasi Komponen sistem Layanan sistem operasi System Call System Program Struktur sistem Virtual Machine Desain dan implementasi sistem System Generation 3.1 Komponen Sistem Secara

Lebih terperinci

Analisis Arsitektur Aplikasi Web Menggunakan Model View Controller (MVC) pada Framework Java Server Faces

Analisis Arsitektur Aplikasi Web Menggunakan Model View Controller (MVC) pada Framework Java Server Faces Scientific Journal of Informatics Vol. 3, No. 1, Mei 2016 p-issn 2407-7658 http://journal.unnes.ac.id/nju/index.php/sji e-issn 2460-0040 Analisis Arsitektur Aplikasi Web Menggunakan Model View Controller

Lebih terperinci

BAB 2 LANDASAN TEORI. bahasa pemrograman java dan bersifat open source. Yang mana artinya aplikasi

BAB 2 LANDASAN TEORI. bahasa pemrograman java dan bersifat open source. Yang mana artinya aplikasi BAB 2 LANDASAN TEORI 2.1. Sekilas Sistem Operasi Android Android merupakan sebuah sistem operasi sama halnya dengan sistem operasi Windows, Linux, maupun Mac OS. Aplikasi android dikembangkan menggunakan

Lebih terperinci

BAB II LANDASAN TEORI. lingkungan, interaksi unsur dengan suatu tujuan yang akan dicapai. Berikut ini pengertian sistem menurut beberapa ahli:

BAB II LANDASAN TEORI. lingkungan, interaksi unsur dengan suatu tujuan yang akan dicapai. Berikut ini pengertian sistem menurut beberapa ahli: BAB II LANDASAN TEORI 2.1. Konsep Dasar Sistem Pengertian suatu sistem tentu mempunyai beberapa persyaratan umum, persyaratan umum tersebut adalah bahwa sistem harus mempunyai unsur lingkungan, interaksi

Lebih terperinci

PROSEDUR KEAMANAN JARINGAN SPMI - UBD

PROSEDUR KEAMANAN JARINGAN SPMI - UBD PROSEDUR KEAMANAN JARINGAN SPMI - UBD SPMI UBD Universitas Buddhi Dharma Jl. Imam Bonjol No. 41 Karawaci, Tangerang Telp. (021) 5517853, Fax. (021) 5586820 Home page : http://buddhidharma.ac.id Disetujui

Lebih terperinci

Making Provisions for Applications and Services

Making Provisions for Applications and Services Making Provisions for Applications and Services Ketika seseorang mengakses informasi pada suatu perangkat (device), baik itu PC, laptop, PDA, ponsel, atau device lain yang terhubung ke jaringan, data tidak

Lebih terperinci

BAB II LANDASAN TEORI Konsep Dasar Membangun Aplikasi Berbasis Web

BAB II LANDASAN TEORI Konsep Dasar Membangun Aplikasi Berbasis Web BAB II LANDASAN TEORI 2.1. Konsep Dasar Membangun Aplikasi Berbasis Web Aplikasi berbasis web adalah aplikasi yang dijalankan melalui browser dan diakses melalui jaringan komputer. Aplikasi berbasis web

Lebih terperinci

KOMUNIKASI. Universitas Informatika dan Bisnis Indonesia. 2.1 Komunikasi Data

KOMUNIKASI. Universitas Informatika dan Bisnis Indonesia. 2.1 Komunikasi Data KOMUNIKASI Universitas Informatika dan Bisnis Indonesia 2.1 Komunikasi Data Komunikasi data merupakan bagian dari telekomunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. mengangkat kasus dan penggunaan teknologi yang berbeda-beda, pada table 2.1

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. mengangkat kasus dan penggunaan teknologi yang berbeda-beda, pada table 2.1 BAB II TINJAUAN PUSTAKA DAN DASAR TEORI 2.1 Tinjauan Pustaka Aplikasi chat messenger sebelumnya sudah pernah dibuat dengan mengangkat kasus dan penggunaan teknologi yang berbeda-beda, pada table 2.1 menunjukkan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Unit Dinas Pendidikan dan Kebudayaan Unit Dinas Pendidikan dan Kebudayaan adalah lembaga yang melaksanakan kebijakan Pemerintah Kabupaten / Kota dalam bidang pendidikan dan merupakan

Lebih terperinci