Senin, 28 April 2014

CLOUD COMPUTING

Cloud computing is a type of computing that relies on sharing computing resources rather than having local servers or personal devices to handle applications.
In cloud computing, the word cloud (also phrased as "the cloud") is used as a metaphor for "the Internet," so the phrase cloud computing means "a type of Internet-based computing," where different services — such as servers, storage and applications. are delivered to an organization's computers and devices through the Internet.
Cloud computing is comparable to grid computing, a type of computing where unused processing cycles of all computers in a network are harnesses to solve problems too intensive for any stand-alone machine.

The world of the cloud has lots of participants:
·         The end user who doesn’t have to know anything about the underlying technology.
Business management who needs to take responsibility for the governance of data or services living in a cloud. Cloud service providers must provide a predictable and guaranteed service level and security to all their constituents.

·         The cloud service provider who is responsible for IT assets and maintenance.



Advantages of cloud computing

1.  Worldwide Access. Cloud computing increases mobility, as you can access your documents from any device in any part of the world. For businesses, this means that employees can work from home or on business trips, without having to carry around documents. This increases productivity and allows faster exchange of information. Employees can also work on the same document without having to be in the same place.
2.      More Storage. In the past, memory was limited by the particular device in question. If you ran out of memory, you would need a USB drive to backup your current device. Cloud computing provides increased storage, so you won’t have to worry about running out of space on your hard drive.
3.      Easy Set-Up. You can set up a cloud computing service in a matter of minutes. Adjusting your individual settings, such as choosing a password or selecting which devices you want to connect to the network, is similarly simple. After that, you can immediately start using the resources, software, or information in question.
4.      Automatic Updates. The cloud computing provider is responsible for making sure that updates are available – you just have to download them. This saves you time, and furthermore, you don’t need to be an expert to update your device; the cloud computing provider will automatically notify you and provide you with instructions.
5.      Reduced Cost. Cloud computing is often inexpensive. The software is already installed online, so you won’t need to install it yourself. There are numerous cloud computing applications available for free, such as Dropbox, and increasing storage size and memory is affordable. If you need to pay for a cloud computing service, it is paid for incrementally on a monthly or yearly basis. By choosing a plan that has no contract, you can terminate your use of the services at any time; therefore, you only pay for the services when you need them

The working principle of cloud computing

The principle of cloud computing is almost same with another computer,  just the different of that is in cloud computing, is coupled with another present computer.  In regular computer, file from software when we used is stored in hardisk or another storage media. But on computer clouds if viewed from the side of the user, the files from software we use is in another computer.
In other words we are connected to multiple computers on a network server, but the data we store it was in the data center or in center, so that not only we can open the file that we save but computers or other users can open it and vice versa (Public). Also in a lot of infrastructure servers that we can use and we only pay as needed.

 Characteristics cloud computing

1. On-demand self-service. This means provisioning or de-provisioning computing resources as needed in an automated fashion without human intervention. An analogy to this is electricity as a utility where a consumer can turn on or off a switch on-demand to use as much electricity as required.
2. Ubiquitous network accessThis means that computing facilities can be accessed from anywhere over the network using any sort of thin or thick clients (for example smartphones, tablets, laptops, personal computers and so on).
3. Resource pooling. This means that computing resources are pooled to meet the demand of the consumers so that resources (physical or virtual) can be dynamically assigned, reassigned or de-allocated as per the requirement. Generally the consumers are not aware of the exact location of computing resources. However, they may be able to specify location (country, city, region and the like) for their need. For example, I as a consumer might want to host my services with a cloud provider that has cloud data centers within the boundaries of Australia.
4. Rapid elasticity. Cloud computing provides an illusion of infinite computing resources to the users. In cloud models, resources can be elastically provisioned or released according to demand. For example, my cloud-based online services should be able to handle a sudden peak in traffic demand by expanding the resources elastically. When the peak subsides, unnecessary resources can be released automatically.
5. Measured service. This means that consumers only pay for the computing resources they have used. This concept is similar to utilities like water or electricity.

SECURITY

Security. When using a cloud computing service, you are essentially handing over your data to a third party. The fact that the entity, as well as users from all over the world, are accessing the same server can cause a security issue. Companies handling confidential information might be particularly concerned about using cloud computing, as data could possibly be harmed by viruses and other malware. That said, some servers like Google Cloud Connect come with customizable spam filtering, email encryption, and SSL enforcement for secure HTTPS access, among other security measures.

The biggest question most have with Cloud Computing is will it be Safe? The answer is “NO”  Reason why is everything that Cloud Computing is based on is mechanical, although it seems virtual. The Safety of the data (information), is only as Safe as the will and determination of the individual that wants to have at it.

THE CONCEPT OF CLOUD COMPUTING


The first building block is the infrastructure where the cloud will be implemented. Some people make the assumption that environment should be virtualized, but as cloud is a way to request resources in an on-demand way and if you have solutions to provide  on bare metal, then why not? The infrastructure will support the different types of cloud (IaaS, PaaS, SaaS, BPaaS).
To be able to provide these services you will need Operating System Services (OSS), which will be in charge of deploying the requested service, and Business System Services (BSS), mainly used to validate the request and create the invoice for the requested services. Any metrics could be used to create the invoice (for example, number of users, number of CPUs, memory, usage hours/month). It is very flexible and depends on the service provider.
A cloud computing environment will also need to provide interfaces and tools for the service creators and users. This is the role of the Cloud Service Creator and Cloud Service Consumer components.
Now, let’s see how it works in reality.
Generally, you log in to a portal (enterprise or public wise) and you order your services through the Cloud Service Consumer. This service has been created by the cloud service provider and can be a simple virtual machine (VM) based on an image, some network components, an application service such as an WebApp environment and a service such as MongoDB. It depends on the provider and type of resources and services.
The cloud provider will validate, through the BSS, your request and if the validation is okay (credit card, contract), it will provision the request through the OSS.
You will receive, in one way or another, the credentials to access your requested services and you will usually receive a monthly invoice for your consumption.


http://thoughtsoncloud.com/2014/02/how-does-cloud-computing-work/
http://thoughtsoncloud.com/2014/02/cloud-computing-basics/
http://www.dummies.com/how-to/content/what-is-cloud-computing.html
http://www.wikinvest.com/concept/Cloud_Computing
http://www.webopedia.com/TERM/C/cloud_computing.html

Selasa, 15 April 2014

Sistem Operasi Terdistribusi

2. Sistem Operasi Terdistribusi
A. Pengertian Sistem Operasi
     Sistem operasi (Operating System atau OS) adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.
     Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.


B. Komponen Sistem Operasi
Komponen sistem operasi terdiri dari:
a. Manajemen Proses
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
b. Manajemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti:
• Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
• Memilih program yang akan di-load ke memori.
• Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
c. Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi bertanggung-jawab:
• Pembuatan dan penghapusan berkas.
• Pembuatan dan penghapusan direktori.
• Mendukung manipulasi berkas dan direktori.
• Memetakan berkas ke secondary storage.
• Mem-backup berkas ke media penyimpanan yang permanen (non-volatile)
d. Manajemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
Buffer: menampung sementara data dari/ ke perangkat I/O.
Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
• Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.
e. Manajemen Penyimpanan Sekunder
    Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage yang bersifat permanen dan mampu menampung banyak data. Contoh dari secondary-storage adalah harddisk, disket, dll. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan disk-management seperti: free-space management, alokasi penyimpanan, penjadualan disk.
f. Sistem Proteksi
    Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya.
Mekanisme proteksi harus:
• membedakan antara penggunaan yang sudah diberi izin dan yang belum.
specify the controls to be imposed.
provide a means of enforcement.
g. Command-Interpreter System

    Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya.

Referensi : 
vlsm.org, Komponen Sistem Operasi, 
http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch05.html#c20501
Wahyu Wijanarko, Sistem Operasi Terdistribusi, 
http://ilmukomputer.com/2006/08/20/sistem-operasi-terdistribusi/
http://id.wikipedia.org/wiki/Sistem_operasi 

Link Anggota Kelompok :



Rabu, 26 Maret 2014

Mobile Computing Applications

Mobile computing is human–computer interaction by which a computer is expected to be transported during normal usage. Mobile computing involves mobile communication, mobile hardware, and mobile software. Communication issues include ad hoc and infrastructure networks as well as communication properties, protocols, data formats and concrete technologies. Hardware includes mobile devices or device components. Mobile software deals with the characteristics and requirements of mobile applications. - Wikipedia
Examples of applications such as mobile banking :

Push Email
Push email is an email system that provides an always-on capability, in which new email is actively transferred (pushed) as it arrives by the mail delivery agent (MDA) (commonly called mail server) to the mail user agent (MUA), also called the email client. Email clients include smartphones and, less strictly, IMAP personal computer mail applications.
In Blackberry, BlackBerry uses wireless mail user agent devices and a BlackBerry Enterprise Server (BES) attached to a traditional email system. The BES monitors the email server, and when it sees new email for a BlackBerry user, it retrieves (pulls) a copy and then pushes it to the BlackBerry handheld device over the wireless network.
BlackBerry became very popular, in part because it offers remote users "instant" email; new emails appear on the device as soon as they arrive, without the need for any user intervention. The handheld becomes a mobile, dynamically updating, copy of the user's mailbox. As a result of the success of BlackBerry, other manufacturers have developed push email systems for other handheld devices, such as Symbian- and Windows Mobile-based mobile phones. However, they only support push email for some email services.
With the release of the BlackBerry 10 operating system for its new generation of mobile device, BES is no longer available for non-corporate client email delivery. Instead, BlackBerry 10 offers POP, IMAP, or ActiveSync for transferring email to and from a device. Of these, the latter two can provide push email delivery if the server supports it.

Mobile Banking
Mobile banking is a system that allows customers of a financial institution to conduct a number of financial transactions through a mobile device such as a mobile phone or personal digital assistant.
Mobile banking differs from mobile payments, which involve the use of a mobile device to pay for goods or services either at the point of sale or remotely,analogously to the use of a debit or credit card to effect an EFTPOS payment.
The earliest mobile banking services were offered over SMS, a service known as SMS banking. With the introduction of smart phones with WAP support enabling the use of the mobile web in 1999, the first European banks started to offer mobile banking on this platform to their customers.
Mobile banking has until recently (2010) most often been performed via SMS or the mobile web. Apple's initial success with iPhone and the rapid growth of phones based on Google's Android (operating system) have led to increasing use of special client programs, called apps, downloaded to the mobile device. With that said, advancements in web technologies such as HTML5, CSS3 and JavaScript have seen more banks launching mobile web based services to complement native applications. A recent study (May 2012) by Mapa Research suggests that over a third of banks have mobile device detection upon visiting the banks' main website. A number of things can happen on mobile detection such as redirecting to an app store, redirection to a mobile banking specific website or providing a menu of mobile banking options for the user to choose from.

From the above explanation, we can conclude that Mobile computing applications are required to inform a news or information in the state of moving (mobile).
From Mobile computing applications make us easy  to do something more fast.  We just need install the application what we need on our mobile computing.  There are free and paid.  This is mobile computing appliation that many people use :
  • Database queries over the static network for information such as weather,or  trac conditions, and performing share transactions, or home shopping.
  • Client-server applications, such as World Wide Web (WWW) browsing, electronic mail, Usenet news, and remote sessions on static computers.
  • Multimedia applications, such as a video phone, television broadcasts, video mail, and video on demand.
  • Collaborative working, requiring a group protocol for distributed transactions and floor control.

Selasa, 25 Maret 2014

Client Server

  Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung
ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer.\

     A.   Client-Server


Client: proses untuk mengakses data, menggunakan sesumber atau melakukan operasi pada komputer yang berbeda
Server: proses yang mengatur data dan semua sesumber yang di share di antara server dan client, memungkinkan client mengakses sesumber dan melakukan komputasi
Interaction: pasangan pesan pemanggilan (invocation) / hasil (result)
Contoh :
http server: client (browser) meminta dokumen, server mengirimkan dokumen yang diminta.
Caching of services (proxy servers).
– caching terhadap halaman web yang sering digunakan.
Peer processes (not client-server).
proses-proses yang secara fungsional identik.
Sistem client-server mempunyai satu atau lebih proses client dan satu atau lebih proses server, dan sebuah proses client dapat mengirim query ke sembarang proses server. Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah personal computer dan mengirim query ke sebuah server yang berjalan pada mainframe.
Arsitektur ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi yang relatif sederhana karena pembagian fungsi yang baik dan karena server tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai, meskipun mesin client tidak mahal. Ketiga, pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah dibandingkan antar muka pada server yang tidak user-friendly. perlu diingat batasan antara client dan server dan untuk menjaga komunikasi antara keduanya yang berorientasi himpunan. Khususnya membuka kursor dan mengambil tupel pada satu waktu membangkitkan beberapa pesan dan dapat diabaikan.
    B.   Model Multiple Server


Service disediakan oleh beberapa server
Contoh : sebagian besar layanan web komersial diterapkan melalui server fisik yang berbeda
Motivasi :
- Untuk kerja (contoh : cnn.com, download server, dll)
- kehandalan
Server menggunakan replikasi atau database terdistribusi

     C.   Model Proxy Server


Proxy server membuat duplikasi beberapa server yang diakses oleh client
Biasanya digunakan pada search engine
Contoh :
Searching satu topik namun dilakukan dua kali maka searching terakhir memiliki waktu yang lebih kecil
Caching:
Penyimpanan lokal untuk item yang sering diakses
Meningkatkan kinerja
Mengurangi beban pada server
Proxy server menyediakan hasil copy (replikasi) dari resource yang di atur oleh server lain. Biasa nya proxy server di pakai untuk menyimpan hasil copy web resources. Ketika client melakukan request ke server, hal yang pertama dilakukan adalah memeriksa proxy server apakah yang diminta oleh client terdapat pada proxy server. Proxy server dapat diletakkan pada setiap client atau dapat di pakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencegah frekwensi akses ke server.

D. Model Peer to Peer



Peer processes
menjaga konsistensi sesumber sinkronisasi aksi.
contoh: Whiteboard
menggunakan central server
menggunakan peer processes

Bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang paling general dan fleksible.

Referensi :
http://www.scribd.com/doc/75735953/Kolaborasi-Arsitektur-Client

Link Kelompok :

Senin, 17 Maret 2014

Konsep Objek Terdistribusi dan Object Interface.

Konsep Objek Terdistribusi dan Object Interface.

Sistem komputer terdistribusi adalah sebuah sistem yang memungkinkan aplikasi komputer beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis. Ciri khas sistem komputer terdistribusi adalah heterogenitas dalam berbagai hal: perangkat keras, sistem operasi, dan bahasa pemrograman. Adalah tidak mungkin untuk mengembangkan sistem terdistribusi yang homogen secara paksaan, karena secara alamiah sistem komputer terdistribusi tumbuh dari lingkungan yang heterogen. Kata kunci dalam menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas (interoperability).
Tujuan utama suatu sistem terdistribusi adalah menghubungkan pengguna komputer dengan sumber dari yang transparan, terbuka dan memiliki skalabilitas. Dengan kata lain, sistem proses terdistribusi adalah sistem yang lebih baik dan kuat dibandingkan kombinasi sistem stand alone.
Objek Terdistribusi :
·         COBRA :
      Pada tahun 1989 object Management group (0MG) dibentuk melakukan standarisasi terhadap arsitektur aplikasi menggunakan obyek terdistribusi sehingga aplikasi yang dibuat oleh sebuah vendor dapat birenteraksi dengan vendor Iainnya dengan berbagai perarigkat jaringan dan sistem operasi. Standar yang dikePuarkan oleh 0MG disebut
Common Object RequestBroker Architektur (CQRBA). Spesifikasi CORBA ini berisi sebuah spesifikasi infrastruktur yang disebut Object request Broker (ORB) yang memungkinkan aplikasi klien untuk dapat berkomunikasi dengan obyek secara remote, yang meliputi antarmuka program, protokol komunikasi don model obyek atau layanan yang memungkinkan untuk saling berkomunikasi dalam berbagai platform.
CORBA menggunakan interface definition language (IDL) untuk menunjukkan interface atau antarmuka yang dapat digunakan oleh program atau obyek lain.
 Kelebihan CORBA:
1                  - Programer dapat dengan mudah menulis aplikasi yang mampu bekerja secara independent antar platform      dan jaringan.
          - Memberikan kemampuan untuk mengintegrasi software aplikasi yang berbeda,tanpa harus tergantung            pada fasilitas komunikasi tingkat bawah
          -  Bekerja secara baik dengan beberapa midleware-midleware yang ada,termasuk microsoft distributo
             sistem(DCOM) .suport penggunaan secara statis maupun dinamis
4         - Memberikan ekstensi optional untuk area yang tidak bisa dijamah oleh core aplikasi.

·         COM :

Component Object Model (COM) adalah teknologi ciptaan Microsoft untuk memungkinkan komunikasi antaraplikasi. Teknologi ml sudah disediakan untuk beberapa platform tetapi kebanyakan untuk platform windows.

·         Dcom :
Distributed Component Object Model (DCOM), dibandingkan dengan COM memiliki kelebihan mampu untuk terdistribusi dan berkomunikasi antar komponent melalui jaringan.
DCOM juga bisa bekerja dalam sebuah jaringan dengan enterprise atau jaringan yang lain seperti internet. Ini menggunakan TCP/IP dan Hypertext Tranfer Protocol. DCOM secara umum hampir sama dengan CORBA dalam terminologinya penyedia layanan pendistribusian. DCOM menggunakan mekanisme RPC untuk transparansi pengiriman dan penerimaan informasi diantara komponen COM (seperti, client dan servers) dalam jaringan yang sama. DCOM pertama kali hadir tahun 1995 dengan initial release di WindowsNT

·         RMI (Remote Method Invocation).
Merupakan sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan.
RMI menyediakan mekanisme dimana server dan client berkomunikasi danmemberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi. Dalam RMI, semua informasi tentang satu pelayanan server disediakan dalam suatu definisi remote interface. Dengan melihat pada definisi interface, seorang pemrogram dapat memberitahukan method apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima dan data apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote interface menentukan karakteristik methods yang disediakan server yang dapat dilihat oleh client. Client programmer harus dapat mengetahui methods apa yang disediakan server dan bagaimana memanggilnya langsung dengan melihat ke remote interface. Client mendapatkan referensi ke remote object melalui RMI registry.


Contoh RMI dikenal seperti Proxy dan Skeleton.

Membangun suatu aplikasi terdistribusi menggunakan RMI meliputi 6 langkah. Keenam langkah tersebut adalah:
1. Mendefinisikan remote interface
2. Implementasi remote interface dan server
3. Pengembangan client (atau applet) yang menggunakan remote interface
4. Mengkompilasi source files dan mem-buat stub and skeletons
5. Memulai (start) RMI registry
6. Menjalankan server dan client

Keuntungan RMI
•  Salahsatu keuntungan RMI adalah kemampuan untuk download bytecodes (code) dari suatu object’s class, jika class tsb tidak terdefinisikan di VM-nya penerima.
•  Type-type dan metode-metode object (class), yang terletak dalam satu VM, dapat dikirim ke VM yang lain, yang mungkin saja remote.
•  Sifat-sifat object yang terkirim ini tidak berubah sama sekali

Kelemahan RMI

proses pembukaan socket yang kadang-kadang tidak dapat diimplementasikan lewat jaringan internet, tapi hal ini bisa diatasi dengan menggunakan Spring HttpInvoker, sama persis dengan RMI tapi lewat protokol HTTP.

Referensi :

Link :