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 :




Selasa, 11 Maret 2014

Sistem Operasi Terdistribusi

Sistem Operasi Terdistribusi

Gambar 1. Sistem Operasi Terdistribusi

Sistem Operasi Terdistribusi : 

Sebuah sistem operasi terdistribusi (DOS) adalah sebuah sistem operasi yang dibangun, dari bawah ke atas, untuk menyediakan layanan terdistribusi. Dengan demikian, DOS mengintegrasikan layanan terdistribusi kunci ke arsitektur (Gambar 2). Layanan ini dapat mencakup didistribusikan memori bersama, tugas tugas untuk prosesor, masking kegagalan, penyimpanan didistribusikan, interprocess komunikasi, transparan.
berbagi sumber daya, manajemen sumber daya didistribusikan, dll Sebuah properti kunci dari sistem operasi terdistribusi adalah bahwa ia berusaha untuk tingkat yang sangat tinggi transparansi, idealnya menyediakan gambar sistem tunggal. Artinya, dengan ideal pengguna DOS tidak akan menyadari bahwa mereka, pada kenyataannya, bekerja pada sistem terdistribusi.
Sistem operasi terdistribusi pada umumnya menganggap multicomputer homogen. Mereka juga umumnya lebih cocok untuk lingkungan LAN daripada lingkungan wide-area network.Pada hari-hari awal penelitian sistem terdistribusi, didistribusikan sistem operasi mana topik utama yang menarik. Sebagian besar penelitian terfokus pada cara mengintegrasikan layanan terdistribusi ke dalam sistem operasi, atau pada cara mendistribusikan layanan sistem operasi tradisional. Saat ini, bagaimanapun, penekanan telah bergeser lebih ke arah sistem middleware. Alasan utama untuk ini adalah bahwa middleware lebih fleksibel (yaitu, tidak mengharuskan pengguna menginstal dan menjalankan sistem operasi tertentu), dan lebih cocok untuk multicomputers heterogen dan wide-area.

Middleware
Sedangkan DOS mencoba untuk menciptakan sebuah sistem khusus untuk aplikasi terdistribusi, tujuan middleware adalah untuk menciptakan sistem antarmuka independen untuk aplikasi terdistribusi.
Gambar 2: Sebuah sistem middleware.
Seperti ditunjukkan dalam Gambar 2 middleware terdiri dari lapisan layanan ditambahkan antara orang-orang dari jaringan biasa OS 1 dan aplikasi yang sebenarnya. Layanan ini memfasilitasi pelaksanaan aplikasi terdistribusi dan berusaha untuk menyembunyikan heterogenitas (baik hardware dan software) dari arsitektur sistem yang mendasariny.
Prinsip Tujuan middleware, yaitu menaikkan tingkat abstraksi untuk didistribusikan pemrograman, dicapai dalam tiga cara: (1) mekanisme komunikasi yang lebih nyaman dan kurang rawan kesalahan daripada lewat pesan dasar, (2) dari OS, jaringan protokol, bahasa pemrograman, dll dan (3) standar layanan (seperti layanan penamaan, layanan transaksi, layanan keamanan, dll).
Untuk membuat integrasi berbagai layanan lebih mudah, dan untuk meningkatkan transparansi , middleware biasanya didasarkan pada paradigma tertentu, atau model, untuk menggambarkan distribusi dan komunikasi. Karena paradigma adalah pendekatan yang menyeluruh untuk bagaimana didistribusikan
Sistem harus dikembangkan, ini sering memanifestasikan dirinya dalam model pemrograman tertentu seperti’Semuanya adalah file’, panggilan prosedur remote, dan objek terdistribusi. Memberikan paradigma tersebut secara otomatis menyediakan abstraksi untuk programmer untuk mengikuti, dan memberikan arahan untuk bagaimana untuk merancang dan mengatur aplikasi terdistribusi.

Sistem terdistribusi dan komputasi paralel
Sistem komputasi paralel bertujuan untuk meningkatkan kinerja dengan menggunakan beberapa prosesor untuk menjalankan sebuah aplikasi. Mereka datang dalam dua rasa: sistem shared-memori dan sistem memori terdistribusi. Mantan penggunaan beberapa prosesor yang berbagi bus tunggal dan memori sub-sistem. Yang terakhir adalah sistem terdistribusi dalam arti sistem yang kita bicarakan di sini dan menggunakan node komputasi independen terhubung melalui jaringan (misalnya, multicomputer a). Meskipun janji peningkatan kinerja, pemrograman paralel tetap sulit dan jika perawatan tidak diambil kinerja mungkin berakhir menurun daripada meningkatkan.
Sistem terdistribusi dalam konteks              
 Studi tentang sistem terdistribusi berkaitan erat dengan dua bidang lainnya, Jaringan dan Sistem Operasi. Hubungan ke jaringan harus cukup jelas, sistem terdistribusi mengandalkan jaringan untuk menghubungkan komputer individu bersama-sama. Ada garis tipis dan kabur antara ketika seseorang berbicara tentang pengembangan jaringan dan mengembangkan sistem terdistribusi. Seperti yang akan kita bahas nanti pembangunan (dan studi) sistem terdistribusi kekhawatiran itu sendiri dengan isu-isu yang timbul ketika sistem yang dibangun dari komponen jaringan yang saling berhubungan, bukan rincian komunikasi dan jaringan protokol.

Hubungan dengan sistem operasi mungkin kurang jelas. Untuk membuat generalisasi yang luas sistem operasi bertanggung jawab untuk mengelola sumber daya dari sebuah sistem komputer, dan menyediakan akses ke sumber daya tersebut secara independen aplikasi (dan berurusan dengan isu-isu seperti sinkronisasi, keamanan, dll yang muncul). Studi tentang sistem terdistribusi dapat dilihat sebagai mencoba untuk menyediakan jenis yang sama akses umum terhadap sumber daya didistribusikan (dan juga berurusan dengan isu-isu yang muncul).
  • http://www. rgoarchitects.com/Files/fallacies.pdf, 2006.
Link anggota kelompok :
http://eciileonita.blogspot.com/2014/03/karakteristik-dan-tantangan-dalam.html
http://bersitrahmayang.wordpress.com/2014/03/10/model-dalam-sistem-terdistribusi/
http://teralovekautsar.blogspot.com/2014/03/nama-tera-nurul-harfiah-56410863-4ia10.html
http://radennansy.blogspot.com/2014/03/contoh-contoh-sistem-terdistribusi.html