Senin, 24 November 2014

Remote Procedure Call

Rizki Rachma Putri
18111238-4KA41


sumber: http://orida-orida.blogspot.com/2013/03/remote-procedure-call-rpc.html



Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakukan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me-request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigm procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.
RPC dirancang sebagai suatu metoda yang powerfull, cepat, efisien, dan aman untuk komunikasi dan sinkronisasi antara client dan server sehingga lebih mudah memungkinkan pertukaran data pada proses yang berbeda. Proses bisa berada di komputer yang sama, LAN atau Internet

Kelebihan RPC
Relatif mudah digunakan : Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti socket, marshalling & unmarshalling.
Robust (Sempurna): Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC
Tidak fleksibel terhadap perubahan: hubungan anatara client dan server bersifat static
Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

Protokol Message RPC

Protokol Message RPC didefinisikan dengan menggunakan deskripsi data eXternal Data Representation ( XDR ) yang meliputi struktur, enumerasi dan union. Pembahasan lebih
lanjut akan diterangkan pada bab berikutnya mengenai implementasi RPC.
Protokol Message ini membutuhkan faktor-faktor pendukung sebagai berikut:
1. Spesifikasi yang unik untuk tiap prosedur call
2. Respon message yang sesuai untuk tiap message yang diminta
3. Otentifikasi klien untuk tiap layanan dan sebaliknya
Protokol Message RPC memiliki dua ( 2 ) struktur yang berbeda, yaitu call message dan reply message. Tiap klien yang akan melakukan RPC pada suatu server di jaringan akan menerima balasan (reply) berupa hasil dari eksekusi prosedur tersebut. Dengan menggunakan spesifikasi yang unik untuk tiap prosedure remote, maka RPC dapat mencocokkan message balasan untuk tiap call message yang diminta klien.
Call Message
Tiap call message pada RPC mengandung nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi prosedur remote yang diminta. Nilai-nilai ini adalah :
1. Nomor Program
2. Nomor Versi dari Program
3. Nomor Prosedur

Reply Message
Reply message yang dikirimkan oleh server jaringan bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak. Reply message mengandung informasi yang digunakan untuk membedakan kondisi-kondisi yang diminta sesuai dengan call messages. Informasi ini antara lain :
1.      RPM mengeksekusi call message dengan sukses
2.      Implementasi remote tidak sesuai dengan protokol yang digunakan. Versi yang lebih
rendah atau tinggi akan ditolak.
3.      Program remote tidak tersedia pada sistem remote
4.      Program remote tidak mendukung versi yang diminta klien
5.      Nomor prosedur yang diminta tidak ada.

Fitur dalam RPC

·         Batching Calls
Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur RPC didesain agar pada tiap call message yang dikirimkan oleh klien harus ada proses menunggu balasan dari server. Oleh karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi error pada message yang dikirim.

·         Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya.

·         Callback Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke proses yang dijalankan oleh klien.

·         Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.

·         Otentifikasi RPC
Proses otentifikasi adalah proses yang digunakan untuk mengidentifikasi server dan klien pada RPC. Untuk setiap prosedur remote yang dilakukan protokol RPC menyediakan slot yang dipakai sebagai parameter otentifikasi yang berfungsi agar pemanggil (caller) dapat, memberikan identitasnya kepada server. Parameter otentifikasi ini dibuat di paket klien. Otentifikasi RPC terdiri atas beberapa bagian. Berikut ini adalah bagian-bagian pada otentifikasi RPC :
Protokol Otentifikasi RPC
Protokol Otentifikasi RPC disediakan sebagai bagian dari protokol RPC. Untuk setiap prosedur remote, semuanya diotentifikasi oleh paket RPC pada server. Parameter yang digunakan adalah respon verifier. Sedangkan pada pihak klien, setiap paket RPC diberikan parameter otentifikasi dan parameter yang digunakan adalah credential dan
verifier.
Otentifikasi NULL
Otentifikasi NULL digunakan pada sistem dimana pemanggil (caller) RPC tidak mengetahui identitasnya sendiri dan server tidak membutuhkan identitas pemanggil.
Otentifikasi UNIX
Otentifikasi Unix digunakan pada prosedur remote di sistem UNIX. Jenis otentifikasi ini dibagi dua (2) yaitu otentifikasi pada sisi klien dan otentifiksi pada sisi server. Pada sisi klien, otentifikasi ini akan membuat otentifikasi handle dengan AIX permissions agar dapat berasosiasi dengan parameter credentials pada sistem UNIX. Sedangkan pada sisi server, server harus dapat menentukan tipe otentifikasi yang diberikan oleh pemanggil RPC. Penentuan dukungan terhadap tipe otentifikasi akan memberikan reply yang berbeda.
Otentifikasi Data Encryption Standard ( DES )
Otentifikasi DES membutuhkan keyserv daemon yang harus berjalan baik di sisi server maupun klien. Tiap pengguna pada sistem ini harus memiliki kunci public ( public key yang disahkan pada database kunci publik oleh Administrator jaringan tersebut.
Protokol Otentifikasi DES
Protokol Otentifikasi DES meliputi protokol penanganan DES pada proses otentifikasi RPC. Protokol ini mencakup 64-bit blok data DES yang terenkripsi dan menentukan panjang maksimum untuk user name pada jaringan yang digunakan.
Enkripsi Diffie-Hellman
Enkripsi Diffie-Hellman digunakan pada pembuatan kunci public pada otentifikasi DES dengan menggunakan 192-bit kunci. Enkripsi ini memiliki dua buah variable onstan, yaitu BASE dan MODULUS yang digunakan pada protokol otentifikasi DES. PC berhubungan hanya dengan proses otentifikasi, tidak dengan kontrol akses terhadap ervices/layanan individual yang diberikan. Tiap layanan mengimplementasikan eraturan mengenai kontrol akses masing-masing.

Prinsip Dasar RPC




Skema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainan





Sebelum mekanisme RPC digunakan, data harus di-packaging ke dalam format transimisi. Langkah ini dinamakan marshalling. Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote). Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan (Stub adalah kode untuk mengkonversi parameter yang dipassing saat RPC berjalan)

Langkah-langkah dalam RPC





1. Prosedur client memanggil client stub
2. Client stub membuat pesan dan memanggil OS client
3. OS client mengirim pesan ke OS server
4. OS server memberikan pesan ke server stub
5. Server stub meng-unpack parameter-parameter untuk memanggil server
6. Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7. Server stub mem-pack hasil tsb dan memanggil OS server
8. OS server mengirim pesan (hasil) ke OS client
9. OS client memberikan pesan tersebut ke client stub

10. Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke Client

Network Online Transaction Processing

Rizki Rachma Putri
18111238-4KA41

sumber: http://sahabataldhy.blogspot.com/2014/11/81-kompleks-network-online-transaction.html#more


Network Online Transaction Processing
Proses transaksi online, atau OLTP, adalah kelas sistem informasi yang memfasilitasi dan mengelola aplikasi berorientasi transaksi, biasanya untuk entri data dan pengambilan proses transaksi. Istilah ini agak ambigu, beberapa mengerti "transaksi" dalam konteks komputer atau database transaksi, sementara yang lain (seperti Processing Performance Council Transaksi) mendefinisikannya dalam hal bisnis atau transaksi komersial.

OLTP juga telah digunakan untuk merujuk kepada proses dimana sistem merespon segera permintaan pengguna. Sebuah mesin teller otomatis (ATM) untuk bank adalah contoh dari aplikasi pemrosesan transaksi komersial. Aplikasi pemrosesan transaksi online throughput yang tinggi dan memasukkan atau memperbarui intensif dalam manajemen database. Aplikasi ini digunakan secara bersamaan oleh ratusan pengguna. Tujuan utama dari aplikasi OLTP adalah ketersediaan, kecepatan, concurrency dan pemulihan.

Mengurangi jejak makalah dan cepat, perkiraan yang lebih akurat pendapatan dan beban keduanya contoh bagaimana OLTP membuat hal-hal sederhana untuk bisnis. Namun, seperti banyak solusi teknologi informasi secara online modern, beberapa sistem membutuhkan perawatan secara offline, yang selanjutnya mempengaruhi analisis biaya - manfaat sistem pemrosesan transaksi online.

Sistem OLTP
Sistem OLTP adalah sistem pengolahan data yang populer di perusahaan saat ini. Beberapa contoh sistem OLTP termasuk order entry, penjualan ritel, dan sistem transaksi keuangan.Sistem pemrosesan transaksi online semakin membutuhkan dukungan untuk transaksi yang span jaringan dan dapat mencakup lebih dari satu perusahaan. Untuk alasan ini, perangkat lunak proses transaksi online yang modern menggunakan client atau pemrosesan server dan software brokering yang memungkinkan transaksi untuk dijalankan pada platform komputer yang berbeda dalam jaringan.

Dalam aplikasi besar, efisien OLTP tergantung pada perangkat lunak yang canggih manajemen transaksi (seperti CICS ) dan / atau basis data taktik optimasi untuk memudahkan pengurusan sejumlah besar update bersamaan ke database OLTP berorientasi. Untuk lebih menuntut sistem database desentralisasi, program percaloan OLTP dapat mendistribusikan proses transaksi antara beberapa komputer pada jaringan. OLTP sering diintegrasikan ke dalam arsitektur berorientasi layanan (SOA) dan layanan Web Online.

Transaction Processing (OLTP) melibatkan pengumpulan informasi masukan, pengolahan informasi dan memperbarui informasi yang ada untuk mencerminkan informasi yang dikumpulkan dan diproses. Pada hari ini, sebagian besar organisasi menggunakan sistem manajemen database untuk mendukung OLTP.

OLTP dilakukan dalam sistem client server. Online Proses Transaksi kekhawatiran tentang concurrency dan atomicity. Kontrol Concurrency menjamin bahwa dua pengguna mengakses data yang sama dalam sistem database tidak akan dapat mengubah data yang atau pengguna harus menunggu sampai pengguna lain selesai diproses, sebelum mengubah potongan data.

Kontrol atomicity menjamin bahwa semua langkah dalam transaksi yang berhasil diselesaikan sebagai sebuah kelompok. Artinya, jika ada langkah-langkah antara transaksi gagal, semua langkah-langkah lain harus gagal juga.

Transaksi Online Sistem Pengolahan Desain
Untuk membangun sebuah sistem OLTP, desainer harus tahu bahwa sejumlah besar pengguna konkuren tidak mengganggu kinerja sistem. Untuk meningkatkan kinerja sistem OLTP, desainer harus menghindari penggunaan berlebihan dari indeks dan cluster.

Unsur-unsur berikut sangat penting untuk kinerja sistem OLTP :
 Segmen Rollback adalah bagian dari database yang merekam tindakan transaksi dalam hal transaksi yang terguling kembali. Segmen rollback menyediakan membaca konsistensi, memutar kembali transaksi, dan memulihkan database.
 Cluster Sebuah adalah skema yang berisi satu atau lebih tabel yang memiliki satu atau lebih kolom yang sama. Mengelompokkan tabel dalam database meningkatkan kinerja bergabung operasi.
 Transaksi diskrit Semua perubahan data ditangguhkan sampai transaksi melakukan transaksi selama diskrit. Hal ini dapat meningkatkan kinerja pendek, non - didistribusikan transaksi.
 Blok (penyimpanan data) ukuran Ukuran blok data harus kelipatan dari ukuran blok sistem operasi dalam batas maksimum untuk menghindari yang tidak perlu I / O.
 Cache buffer size Untuk menghindari konsumsi sumber daya yang tidak perlu, tune SQL pernyataan untuk menggunakan database buffer cache.
 Alokasi dinamis ruang untuk meja dan segmen rollback Pemrosesan transaksi monitor dan server multi - threaded Sebuah monitor pemrosesan transaksi digunakan untuk koordinasi pelayanan. Hal ini seperti sistem operasi dan melakukan koordinasi pada tingkat tinggi granularity dan dapat menjangkau perangkat komputasi ganda.
 Partisi (database) Partisi meningkatkan kinerja untuk situs yang memiliki transaksi reguler saat masih menjaga ketersediaan dan keamanan.
 Tuning database Dengan database tuning, sistem OLTP dapat memaksimalkan kinerjanya sebagai efisien dan secepat mungkin.

Kolaborasi Antarmuka Otomotif Multimedia

Rizki Rachma Putri
18111238-4KA41

sumber: http://alexanderfransiskus.blogspot.com/2013/11/kolaborasi-antarmuka-otomotif.html



Kolaborasi antarmuka otomotif multimedia adalah sebuah organisasi yang dibentuk untuk menciptakan standarisasi dunia yang digunakan dalam mengatur bagaimana sebuah perangkat elektronik dapat bekerja. Contoh Komputer  dan alat komunikasi kendaraan atau computer dan radio dalam mobil. Satiap alat elektronik itu harus dapat bekerja dengan selaras sehingga kendaraan dapat lebih handal.Setiap perangkat elektronik yang dipasang belum tentu cocok dengan setiap kendaraan. Perangkat elektronik atau multimedia bisa saja mengganggu system keselamatan dan system-sistem lain di dalam kendaraan. Itulah kenapa perlu dibentuk standarisasi kolaborasi antarmuka multimedia.

Automotive Multimedia Interface Collaboration (AMI-C) sudah memiliki anggota : Fiat, Ford, General Motors, Honda, Mitsubishi, Nissan, PSA Peugeot-Citroen, Renault. AMI-C mengembangkan dan men-standarisasi antarmuka multimedia dan telematika otomotif yang umum untuk jaringan komunikasi kendaraan. Dan 40 pemasok elektronik mendaftarkan diri untuk menulis standar. Mereka berpendapat untuk menulis standar diperlukan waktu selama 2 tahun. Tapi dua tahun adalah masa di telematika. Penyelenggara elektronik, ponsel, komputer dan peralatan video yang akan menggunakan koneksi dapat melewati beberapa generasi dalam waktu itu. Standar-standar akan memungkinkan sebuah pasar plug-and-play global untuk perangkat elektronik yang akan dipasang di kendaraan dengan kemudahan yang sama dengan melampirkan pheriperal komputer pribadi.

Kendaraan segera akan mengalamin peningkatan perlengkapan dengan ditambahkannya sistem digital yang mendukung beberapa aplikasi seperti untuk mengakses informasi, komunikasi, kemanan dan internet. Ketertarikan terhadap aplikasi multimedia pada kendaraan meningkat, misalnya pada periode 2003-2005. Seperti: pengenalan aplikasi real-time, kamera kecepatan tinggi, seiring dengan semakin meningkatnya komersialisasi lalu lintas multimedia dan pelayanan pariwisata dan travel. Oleh sebab itu, kebutuhan akan multimedia bus yang diletakkan pada kendaraan akan meningkat.


Automotive Multimedia Interface Collaboration (AMI-C) menyatakan bahwa akan menggandeng teknologi Open Service Gateway Initiative (OSGi) sebagai framework untuk platform sofware yang dibangun untuk informasi mobile dan sistem entertainment. Dalam kombinasi’a, AMI-C dan framework OSGi akan menyediakan satu platform software yang umum dan pasar yang terbuka untuk penyedia aplikasi atomotif berbasis wireless. Untuk pengguna, platform umum tersebut akan menyediakan pilihan software aplikasi yang luas.

Proses Komunitas Java (JCP)

Rizki Rachma Putri
18111238-4KA41

sumber: http://septianadhe2wz.blogspot.com/2009/12/proses-komunitas-java-java-community.html




dikembangkan mengacu pada standar yang ditentukan oleh komite didalam JCP (Java Community Process).
Spesifikasi Java tidak sekedar fondasi VMnya, tetapi menyangkut hampir semua aspek, mulai dari mekanisme mengakses devices I/O, komponen pertukaran objek, sampai pengembangan container. JCP merupakan badan yang bertanggung jawab terhadap standar teknologi Java.

Virtual Machine
Sebuah mesin virtual (VM) adalah sebuah perangkat lunak implementasi sebuah mesin (misalnya komputer) yang melaksanakan program-program seperti mesin fisik. Sebuah mesin virtual pada awalnya ditentukan oleh Popek dan Goldberg sebagai "yang efisien, terisolasi duplikat dari mesin yang nyata". Saat menggunakan mesin virtual yang mencakup tidak memiliki surat-menyurat langsung ke perangkat keras yang nyata.
Mesin virtual dipisahkan ke dalam dua kategori utama, berdasarkan tingkat penggunaan dan korespondensi untuk mesin nyata. Sebuah sistem mesin virtual yang lengkap menyediakan platform sistem yang mendukung pelaksanaan lengkap sistem operasi (OS). Sebaliknya, mesin virtual sebuah proses yang dirancang untuk menjalankan sebuah program, yang berarti bahwa ia mendukung satu proses. Karakteristik penting dari sebuah mesin virtual yang berjalan di dalam perangkat lunak adalah terbatas pada sumber daya dan abstraksi yang disediakan oleh mesin virtual tidak dapat keluar dari dunia virtual.
Contoh: Suatu program yang ditulis dalam Java menerima jasa dari Java Runtime Environment (JRE) perangkat lunak dengan mengeluarkan perintah untuk, dan menerima hasil yang diharapkan dari, perangkat lunak Java. Dengan memberikan layanan ini untuk program tersebut, perangkat lunak Java bertindak sebagai "mesin virtual", menggantikan sistem operasi atau hardware untuk program yang biasanya akan disesuaikan.
• Sistem virtual machines
Sistem mesin virtual (kadang-kadang disebut mesin virtual hardware) memungkinkan pembagian yang mendasari sumber daya mesin fisik antara mesin virtual yang berbeda, masing-masing berjalan sendiri sistem operasi. Lapisan perangkat lunak yang menyediakan virtualisasi ini disebut mesin virtual monitor atau hypervisor. Sebuah hypervisor dapat berjalan di hardware yang telanjang (Tipe 1 atau pribumi VM) atau di atas sistem operasi (Tipe 2 atau host VM).
Keuntungan utama dari sistem VMS adalah:
• beberapa OS lingkungan dapat hidup berdampingan pada komputer yang sama, dalam isolasi kuat satu sama lain
• mesin virtual dapat memberikan set instruksi arsitektur (ISA) yang agak berbeda dari mesin yang sebenarnya
• aplikasi provisioning, pemeliharaan, tingkat ketersediaan dan pemulihan bencana
Kerugian utama dari sistem VMS adalah:
• mesin virtual kurang efisien daripada mesin nyata karena secara tidak langsung mengakses perangkat keras
Beberapa VMS masing-masing berjalan sistem operasi mereka sendiri (yang disebut sistem operasi tamu) yang sering digunakan di server konsolidasi, di mana layanan yang berbeda yang digunakan untuk menjalankan mesin individu untuk menghindari gangguan yang terpisah, bukan berjalan di VMS pada mesin fisik yang sama. Penggunaan ini sering disebut-kualitas dari layanan-isolasi (QoS isolasi).
Keinginan untuk menjalankan beberapa sistem operasi adalah motivasi asli untuk mesin virtual, seperti time-sharing memungkinkan satu komputer di antara beberapa single-tasking OS. Teknik ini memerlukan proses untuk berbagi sumber daya CPU antara sistem operasi tamu dan memori virtualisasi untuk berbagi memori pada host.
OS tamu tidak harus sama, sehingga memungkinkan untuk menjalankan OS yang berbeda pada komputer yang sama (misalnya, Microsoft Windows dan Linux, atau versi lama dari sistem operasi untuk mendukung perangkat lunak yang belum porting ke versi terbaru). Penggunaan mesin virtual untuk mendukung OS tamu yang berbeda menjadi populer di embedded system; tipikal digunakan adalah untuk mendukung real-time sistem operasi pada saat yang sama sebagai OS tingkat tinggi seperti Linux atau Windows.
Penggunaan lainnya adalah untuk sandbox sebuah OS yang tidak dipercaya, mungkin karena itu adalah sebuah sistem dalam pengembangan. Mesin virtual memiliki keuntungan untuk OS lain pembangunan, termasuk akses debugging yang lebih baik dan lebih cepat reboot.
Teknik alternatif seperti Solaris Zones menyediakan tingkat isolasi dalam satu sistem operasi. Ini tidak memiliki isolasi selengkap sebagai VM. Sebuah kernel mengeksploitasi dalam suatu sistem dengan beberapa zona akan mempengaruhi semua zona. Mencapai tujuan yang sama dalam implementasi mesin virtual akan membutuhkan mengeksploitasi kelemahan dalam hypervisor. Sebuah hypervisor biasanya memiliki lebih kecil "serangan permukaan" dari sebuah sistem operasi yang lengkap, membuat ini lebih menantang. Lebih lanjut, sebuah kernel mengeksploitasi tamu di VM tidak akan mempengaruhi VMS lain pada host, seperti gangguan yang sukses menjadi satu zona belum tentu mempengaruhi zona lain. Zona tidak mesin virtual, tetapi contoh "virtualisasi sistem operasi". Ini termasuk lain "lingkungan virtual" (juga disebut "virtual server") seperti Virtuozzo, FreeBSD penjara, Linux-VServer, chroot penjara, dan OpenVZ. Ini memberikan beberapa bentuk rangkuman proses dalam sebuah sistem operasi. Teknologi ini memiliki keunggulan sumber daya yang lebih efisien daripada virtualisasi penuh dan memiliki lebih baik observability menjadi beberapa tamu secara simultan; yang merugikan adalah bahwa, pada umumnya, mereka hanya dapat menjalankan satu sistem operasi dan satu versi / patch tingkat sistem operasi bahwa -- jadi, misalnya, mereka tidak dapat digunakan untuk menjalankan dua aplikasi, salah satu yang hanya mendukung versi OS yang lebih baru dan yang lain hanya mendukung versi OS yang lebih lama pada hardware yang sama. However, Sun Microsystems has enhanced Solaris Zones to allow some zones to behave like Solaris 8 or Solaris 9 systems by adding a system call translator. Namun, Sun Microsystems telah meningkatkan Solaris Zones untuk memungkinkan beberapa zona untuk berperilaku seperti Solaris 8 atau Solaris 9 sistem dengan menambahkan system call penerjemah.
• Proses mesin virtual
Sebuah proses VM, kadang-kadang disebut aplikasi mesin virtual, berjalan sebagai aplikasi biasa di dalam sebuah OS dan mendukung proses tunggal. Hal ini tercipta ketika proses itu dimulai dan hancur ketika keluar. Tujuannya adalah untuk menyediakan sebuah platform-independen lingkungan pemrograman yang abstrak pergi rincian perangkat keras yang mendasarinya atau sistem operasi, dan memungkinkan sebuah program untuk mengeksekusi dengan cara yang sama pada platform apapun.
Sebuah proses VM memberikan abstraksi tingkat tinggi - yaitu yang tinggi tingkat bahasa pemrograman (dibandingkan dengan tingkat rendah ISA abstraksi dari sistem VM). VMS proses diimplementasikan menggunakan interpreter; kinerja yang sebanding dengan bahasa pemrograman terkompilasi dicapai dengan menggunakan just-in-time compilation .
Jenis VM ini telah menjadi populer dengan bahasa pemrograman Java, yang diimplementasikan menggunakan mesin virtual Java. Contoh lain termasuk Bayan mesin virtual, yang berfungsi sebagai lapisan abstraksi selama beberapa ditafsirkan lanugages, dan. NET Framework, yang berjalan pada sebuah VM yang disebut Common Language Runtime.
Suatu kasus khusus VMS adalah proses sistem yang abstrak atas mekanisme komunikasi yang (berpotensi heterogen) komputer cluster. Seperti VM tidak terdiri dari sebuah proses tunggal, tetapi satu proses per mesin fisik di cluster. Mereka dirancang untuk memudahkan tugas pemrograman aplikasi paralel dengan membiarkan programmer fokus pada algoritma daripada mekanisme komunikasi yang disediakan oleh interkoneksi dan OS. Mereka tidak menyembunyikan fakta bahwa terjadi komunikasi, dan dengan demikian tidak berusaha untuk menyajikan cluster sebagai satu mesin paralel.
Tidak seperti proses lain VMS, sistem ini tidak menyediakan bahasa pemrograman tertentu, tetapi tertanam dalam bahasa yang ada; biasanya sistem seperti menyediakan binding untuk beberapa bahasa (misalnya, C dan FORTRAN). Examples are PVM ( Parallel Virtual Machine ) and MPI ( Message Passing Interface ). Contohnya adalah PVM (Paralel Virtual Machine) dan MPI (Message Passing Interface). Mereka tidak ketat mesin virtual, sebagai aplikasi yang berjalan di atas masih memiliki akses ke semua layanan OS, dan karena itu tidak terbatas pada model sistem yang disediakan oleh "VM".


APIs
Sebuah application programming interface (API) adalah antarmuka bahwa sebuah program perangkat lunak alat untuk memungkinkan perangkat lunak lain untuk berinteraksi dengan itu, banyak cara yang sama seperti perangkat lunak mungkin akan mengimplementasikan antarmuka pengguna untuk memungkinkan manusia untuk menggunakannya. API dilaksanakan oleh aplikasi, perpustakaan dan sistem operasi untuk menentukan bagaimana perangkat lunak lain dapat membuat panggilan ke atau layanan permintaan dari mereka. Sebuah API menentukan kosa kata dan konvensi memanggil para pemrogram harus mempekerjakan untuk menggunakan layanan . Ini mungkin termasuk spesifikasi untuk rutinitas, struktur data, kelas objek, dan protokol yang digunakan untuk berkomunikasi antara konsumen dan pelaksana API.
• Fitur
API adalah sebuah abstraksi. Perangkat lunak yang menyediakan fungsionalitas yang dijelaskan oleh API dikatakan sebuah implementasi dari API.
API dapat:
• Tergantung pada bahasa, yaitu hanya tersedia dalam bahasa pemrograman tertentu, dengan menggunakan sintaks dan unsur-unsur bahasa itu untuk membuat API nyaman untuk digunakan dalam konteks ini.
• Bahasa-independen, yaitu ditulis dengan cara yang berarti dapat dipanggil dari beberapa bahasa pemrograman. Ini adalah fitur yang diinginkan untuk layanan-gaya API yang tidak terikat pada suatu proses atau sistem dan dapat diberikan sebagai remote procedure calls atau layanan web.
Sebagai contoh, sebuah website yang memungkinkan pengguna untuk memeriksa restoran lokal mampu lapisan tinjauan di atas peta mereka diambil dari Google Maps, karena Google Maps API yang memiliki memungkinkan hal ituGoogle Maps 'API mengontrol informasi apa pihak ketiga situs bisa ambil, dan apa yang bisa dilakukan dengan itu.
"API" dapat digunakan untuk mengacu ke antarmuka lengkap, satu fungsi, atau bahkan satu set berbagai API yang disediakan oleh sebuah organisasi. Dengan demikian, cakupan makna biasanya ditentukan oleh orang atau dokumen yang mengkomunikasikan informasi.
• Web API
Ketika digunakan dalam konteks pengembangan web, biasanya sebuah API yang didefinisikan set Hypertext Transfer Protocol (HTTP) pesan permintaan bersama dengan definisi respon struktur pesan, biasanya dinyatakan dalam sebuah Sementara "Web API" secara virtual sinonim untuk layanan web, tren baru-baru ini (yang disebut Web 2.0) telah bergerak jauh dari Simple Object Access Protocol (SOAP) layanan berbasis lebih langsung terhadap Negara Representasi Transfer (REST) gaya komunikasi. Web API memungkinkan kombinasi dari berbagai layanan ke aplikasi baru yang dikenal sebagai mashup.
• Implementasi
POSIX standard mendefinisikan sebuah API yang memungkinkan berbagai fungsi komputasi umum harus ditulis sedemikian rupa sehingga mereka dapat beroperasi pada banyak sistem yang berbeda (Mac OS X dan berbagai Berkeley Software Distribusi (BSD) mengimplementasikan interface ini), namun, dengan menggunakan ini memerlukan kompilasi ulang untuk setiap platform. API yang kompatibel, di sisi lain, memungkinkan dikompilasi kode obyek untuk berfungsi tanpa perubahan apapun, pada pelaksanaan sistem apapun yang API. Hal ini menguntungkan kedua penyedia perangkat lunak (di mana mereka dapat mendistribusikan perangkat lunak yang ada pada sistem baru tanpa memproduksi / mendistribusikan upgrade) dan pengguna (di mana mereka mungkin lebih tua menginstal perangkat lunak pada sistem baru mereka tanpa membeli upgrade), meskipun hal ini memerlukan berbagai perangkat lunak secara umum pelaksanaan perpustakaan API diperlukan juga.
Microsoft telah menunjukkan komitmen untuk API yang kompatibel ke belakang, terutama di dalam Windows API (Win32) perpustakaan, seperti aplikasi yang lebih tua dapat berjalan di Windows versi yang lebih baru menggunakan pengaturan khusus eksekusi yang disebut "Compatibility Mode" . Apple Inc telah menunjukkan kecenderungan yang kurang perhatian ini, memecah kompatibilitas atau mengimplementasikan dalam sebuah API yang lebih lambat "mode emulasi"; ini memungkinkan kebebasan lebih besar dalam pembangunan, pada biaya pembuatan perangkat lunak yang lebih tua usang.

Antara Unix-seperti sistem operasi, ada banyak terkait tetapi tidak sesuai sistem operasi berjalan pada platform hardware yang umum (khususnya Intel 80386 sistem yang kompatibel). Sudah ada beberapa usaha untuk standarisasi API vendor perangkat lunak sehingga dapat mendistribusikan satu aplikasi binari untuk semua sistem ini, namun sampai saat ini, tidak satu pun telah bertemu dengan banyak keberhasilan. Linux Standard Base adalah berusaha untuk melakukan hal ini untuk Linux platform, sementara banyak dari beragam Unix BSD (FreeBSD, NetBSD, OpenBSD) menerapkan berbagai tingkat kompatibilitas API untuk kedua backward compatibility (memungkinkan program yang ditulis untuk versi lama untuk berjalan di distribusi baru sistem) dan lintas-platform kompatibilitas (memungkinkan eksekusi kode asing tanpa mengkompilasi ulang).

Open Services Gateway Intiative


Rizki Rachma Putri
18111238-4KA41



sumber: https://bluewarrior.wordpress.com/2009/12/01/open-services-gateway-initiative-osgi/
http://en.wikipedia.org/wiki/OSGi
http://www.osgi.org/Main/HomePage

  

The OSGi Alliance (sebelumnya dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah terbuka organisasi standar yang didirikan pada Maret 1999. Aliansi dan anggota-anggotanya telah ditentukan yang Java berbasis layanan platform yang dapat dikelola dari jarak jauhInti bagian dari spesifikasi adalah sebuah kerangka kerja yang mendefinisikan suatu manajemen siklus hidup aplikasi model, layanan registry, sebuah lingkungan Eksekusi dan Modul. Berdasarkan kerangka ini, sejumlah besar OSGi layers, API, dan Jasa telah ditetapkan.
OSGi teknologi adalah sistem modul dinamis untuk Java ™
OSGi teknologi menyediakan layanan berorientasi, komponen berbasis lingkungan untuk para pengembang dan menawarkan cara-cara standar untuk mengelola siklus hidup perangkat lunak. Kemampuan ini sangat meningkatkan nilai berbagai komputer dan perangkat yang menggunakan platform Java.
Pengadopsi teknologi OSGi manfaat dari peningkatan waktu ke pasar dan mengurangi biaya pengembangan karena teknologi OSGi menyediakan integrasi pra-dibangun dan pra-komponen subsistem diuji. Teknologi ini juga mengurangi biaya pemeliharaan dan kemajuan aftermarket baru peluang unik karena jaringan dapat dimanfaatkan untuk secara dinamis mengupdate atau memberikan layanan dan aplikasi di lapangan.
Spesifikasi:
OSGi spesifikasi yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi OSGi. OSGi Alliance yang memiliki kepatuhan program yang hanya terbuka untuk anggota. Pada Oktober 2009, daftar bersertifikat OSGi implementasi berisi lima entri.


Arsitektur:

Setiap kerangka yang menerapkan standar OSGi menyediakan suatu lingkungan untuk modularisasi aplikasi ke dalam kumpulan yang lebih kecil. Setiap bundel adalah erat-coupled, dynamically loadable kelas koleksi, botol, dan file-file konfigurasi yang secara eksplisit menyatakan dependensi eksternal mereka (jika ada).  Kerangka kerja konseptual yang dibagi dalam bidang-bidang berikut:
Bundles
Bundles adalah normal jar komponen dengan nyata tambahan header
Services
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek (POJO).
Services
API untuk jasa manajemen (ServiceRegistration, ServiceTracker dan ServiceReference).
Life-Cycle
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
Modules
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
Security
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan.
Execution Environment
Mendefinisikan metode dan kelas apa yang tersedia dalam platform tertentuTidak ada daftar tetap eksekusi lingkungan, karena dapat berubah sebagai Java Community Process menciptakan versi baru dan edisi Jawa. Namun, set berikut saat ini didukung oleh sebagian besar OSGi implementasi:
•    CDC-1.1/Foundation-1.1 CDC-1.1/Foundation-1.1
•    OSGi/Minimum-1.0 OSGi/Minimum-1.0
•    OSGi/Minimum-1.1 OSGi/Minimum-1.1
•    JRE-1.1 JRE-1.1
•    From J2SE-1.2 up to J2SE-1.6 Dari J2SE-1.2 hingga J2SE-1,6

•    CDC-1.0/Foundation-1.0 CDC-1.0/Foundation-1.0

Manajemen Data ; Sisi Client, Sisi Server dan Database system

Rizki Rachma Putri
18111238-4KA41

sumber: 
http://kiraochan.blogspot.com/2011/11/manajemen-data.html


Manajemen data melibatkan semua disiplin yang berhubungan dengan manajemen data sebagai sumber daya yang berguna. Definisi manajemen data adalah pengembangan dan penerapan arsitektur, kebijakan, praktik, dan prosedur yang secara benar menangani siklus hidup lengkap data yang dibutuhkan oleh suatu perusahaan. Definisi ini cukup luas dan mencakup sejumlah profesi yang tidak bersentuhan langsung secara teknis dengan aspek tingkat rendah manajemen data seperti manajemen basis data relasional.
Didalam manajemen data , di bagi-bagi menjadi 3,kategori yaitu :
A. Manajemen data sisi klien
B. Manajemen data sisi server
C. Manajemen data base sistem perangkat bergerak

A. Berdasarkan sisi client
Manajemen data dilihat dasri sisi client adalah kemampuan komputer untuk meminta layanan requestdata kepada komputer lain. Manajemen data ini dapat diaplikasikan pada aplikasi mainframe yang sangat besar untuk membagi beban proses loading antara client dan server. Dalam perkembangannya, client server dikembangkan oleh dominasi perusahaan-perusahaan software yaitu Baan, Informix, Microsoft, dll. Istilah tier dalam server adalah untuk menjelaskan pembagian sebuah aplikasi yang melalui client dan server. Pembagian proses kerja adalah bagian uatama dari konsep client / server saat ini.


Kelebihan sistem client server
Mengurangi tanggung jawab dan biaya overhead
Kontrol biaya operasional dan pengembangan yang lebih muda
Waktu respon yang lebih baik dalam pemrosesan.
Akses data yang lebih besar bagi perusahaan. Sistem Client server mengamankan transaksi data dan menyimpannya pada server untuk kemudian dapat di sharing, dimanipulasi, dianalisa secara lokal.
Memungkinkan pendistribusian proses dari tersentralisasi menjadi desktop computing
Menawarkan kooperatif prosesing antara individu dan group antar departemen, geografis dan zona waktu.
Rewriting software pada sistem client server memberikan keuntungan untuk mendapatkan sistem yang terintegrasi dan memberikan efisiensi.
Menawarkan friendlu interface pada end user khususnya pada knowledge worker dan customer.
Keterlibatan yang lebih untuk end user pada implementasi IT.
Arsitektur terbuka dan sistem terbuka memberikan fleksibilitas dalam memilih konfigurasi hardware yang berbeda, network, dan DBMS dari berbagai vendor.

Kekurangan :
Traffic congestion on the network, jika banyak client mengakses ke server secara simultan, maka server akan overload.
Berbeda dengan P2P network, dimana bandwidthnya meningkat jika banyak client merequest. Karena bandwidth berasal dari semua komputer yang terkoneksi kepadanya.
Pada client-server, ada kemungkinan server fail.
Pada P2P networks, resources biasanya didistribusikan ke beberapa node sehingga masih ada node yang dapat meresponse request.
Karakteristik Client
Client dan Server merupakan item proses (logika) terpisah yang bekerja sama pada suatu jaringan komputer untuk mengerjakan suatu tugas.
 Service : Menyediakan layanan terpisah yang berbeda.
Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource.
Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many. Client memulai komunikasi dengan mengirim request ke server. Server menunggu permintaan dari client. Kondisi tersebut juga memungkinkan komunikasi callback.



B. Berdasarkan sisi Server
Database server adalah program komputer yang menyediakan layanan data lainnya ke komputer atau program komputer, seperti yang ditetapkan oleh model klien-server. Istilah ini juga merujuk kepada sebuah komputer yang didedikasikan untuk menjalankan program server database. Database sistem manajemen database yang sering menyediakan fungsi server, dan beberapa DBMSs (misalnya, MySQL) secara eksklusif bergantung pada model klien-server untuk akses data.
Dalam model Master-Slave, Database master adalah server pusat dan lokasi utama data sementara Database slave master akan disinkronkan backup dari master yang bertindak sebagai proxy


C. Berdasarkan sisiperangkat bergerak
Pesatnya perkembangan bagi komunikasi bergerak mendorong para operator layanan berlomba untuk memperkaya macam layanannya guna menambah pemasukan bagi perusahaanya. Komunikasi data bergerak, misalnya untuk akses internet. Pengenalan WAP (Wireless Application Protocol) telah menunjukkan potensi sebagai layanan internet nirkabel/ WAP merupakan protocol global terbuka yang memungkinkan para pengguna mengakses layanan-layanan on-line dari layar kecil pada telepon genggam dengan menggunakan built-in browser. WAP bekerja pada berbagai teknologi jaringan bergerak, yang memungkinkan pasar missal bagi penciptaan layanan data bergerak.



Contoh dari layanan bergerak adalah GPRS. GPRS merupakan system transmisi berbasis paket untuk GSM yang menggunakan prinsip ‘tunnelling’. GPRS tidak menawarkan laju data tinggi yang memadai untuk multimedia nayata, tetapi GPRS merupakan kunci untuk menghilangkan beberapa batas pokok bagi layanan-layanan data bergerak.

Sabtu, 22 November 2014

Lingkungan Komputasi dan Kebutuhan Middleware

Rizki Rachma Putri
18111238-4KA41

sumber: http://kusumangga.blogspot.com/2014/01/middleware-telematika.html



Lingkungan Komputasi

- Suatu lingkungan di mana sistem komputer digunakan. Lingkungan komputasi dapat dikelompokkan menjadi empat jenis yaitu :

1. Komputasi tradisional,
2. Komputasi berbasis jaringan,
3. Komputasi embedded,
4. Komputasi grid.

Pada awalnya komputasi tradisional hanya meliputi penggunaan komputer meja (desktop) untuk pemakaian pribadi di kantor atau di rumah. Namun, seiring dengan perkembangan teknologi maka komputasi tradisional sekarang sudah meliputi penggunaan teknologi jaringan yang diterapkan mulai dari desktop hingga sistem genggam. Perubahan yang begitu drastis ini membuat batas antara komputasi tradisional dan komputasi berbasis jaringan sudah tidak jelas lagi.

Lingkungan komputasi itu sendiri bisa diklasifikasikan berdasarkan cara data dan instruksi programnya dihubungkan yang terdiri atas empat kategori berikut ini :


1. Single instruction stream-single data stream (SISD) : Satu prosesor dan biasa juga disebut komputer sekuensial


2. Single instruction stream-multiple data stream (SIMD) : Setiap prosesor memiliki memori lokal dan duplikasi program yang sama sehingga masing-masing prosesor akan mengeksekusi instruksi/program yang sama


3. Multiple instruction stream-single data stream (MISD) : Data yang ada di common memory akan dimanipulasi secara bersamaan oleh semua prosesor


4. Multiple instruction stream-multiple data stream (MIMD) : Setiap prosesor memiliki kontrol unit, memori lokal serta memori bersama (shared memory) yang mendukung proses paralelisasi dari sisi data dan instruksi.




B.  Kebutuhan Middleware


Dalam dunia teknologi informasi, terminologi middleware adalah istilah umum dalam pemrograman komputer yang digunakan untuk menyatukan, sebagai penghubung, ataupun untuk meningkatkan fungsi dari dua buah progaram/aplikasi yang telah ada.





Tujuan Umum

-Middleware adalah S/W penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan.

-Middleware sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda.

-Middleware yang paling banyak dipublikasikan : Open Software Foundation’s Distributed Computing Environtment (DCE), Object Management Group’s, Common Object Request Broker Architecture (CORBA) dan Microsoft’s COM/DCOM (Component Object Model).

Contoh Kebutuhan Middleware

Middleware adalah software yang dirancang untuk mendukung pengembangan sistem tersebar dengan memungkinkan aplikasi yang sebelumnya terisolasi untuk saling berhubungan. Dengan bantuan middleware, data yang sama dapat digunakan oleh customer service, akuntansi, pengembangan, dan manajemen sesuai kebutuhan. Middleware dapat juga berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan format data yang dapat mereka proses.

Middleware tersedia untuk berbagai platform, dengan berbagai jenis. Jenis middleware yang umum dikembangkan saat ini dapat dikelompokkan dalam lima kategori besar, salah satunya adalah homegrown, yang dikembangkan khusus untuk kebutuhan internal organisasi, model RPC/ORB (Remote Procedure Call/Object Request Broker), Pub/Sub (Publication/Subscription), Message Queuing, dan TP (Transaction Processing) Monitor.

Di Linux, banyak perusahaan besar seperti IBM, BEA, dan Schlumberger yang sedang dan sudah mengerjakan berbagai sistem middleware. Salah satu produk middleware IBM untuk

platform Linux adalah BlueDrekar™. BlueDrekar™ adalah middleware berbasis spesifikasi Bluetooth™ untuk koneksi peralatan wireless di lingkungan rumah dan kantor. Produk middleware ini menyediakan protocol stack dan berbagai API (Application Programming Interfaces) yang dibutuhkan aplikasi berbasis jaringan. Diharapkan adanya BlueDrekar™ di Linux ini akan mempercepat pertumbuhan aplikasi dan peralatan berbasis Bluetooth™.

Contoh lain, BEA Tuxedo™ dari BEA System, sebuah middleware transaction processing monitor yang juga mendukung model ORB, tersedia untuk berbagai platform, termasuk RedHat Linux. BEA Tuxedo memungkinkan kombinasi pengembangan aplikasi dengan model CORBA dan ATMI (Application-to-Transaction Monitor Interface). Sebuah aplikasi yang dibuat untuk Tuxedo dapat berjalan pada platform apapun yang ditunjang oleh BEA tanpa perlu modifikasi dalam kode aplikasinya.

Dalam bidang kartu magnetis (smart cards), Schlumberger adalah salah satu pengembang dan produsen CAC (Common Access Card) dan middleware CAC-nya. Produk middleware ini yang diberi nama CACTUS (Common Access Card Trusted User Suite), dapat berjalan di atas Linux. memberi kemampuan koneksi pada level aplikasi ke kartu magnetis dan fungsi-fungsi kriptografis.

ShaoLin Aptus adalah sebuah middleware untuk Linux, yang mengubah jaringan PC menjadi sebuah arsitektur jaringan komputer yang bersifat 'fit client'. Produk yang memenangkan 'IT Excellence Awards 2002' di Hong Kong ini, mengembangkan konsep ' thinclient' dengan memperbolehkan komputasi berbasis client. Shaolin Aptus membuat banyak klien dapat menggunakan sistem operasi dan aplikasi yang tersimpan di server melalui LAN secara transparan.

Saat ini, hampir seluruh aplikasi terdistribusi dibangun dengan menggunakan middleware. Masih menurut IDC, perkembangan segmen middleware terbesar akan terjadi dalam alat yang membantu sistem manajemen bisnis. Hal ini terjadi untuk memenuhi permintaan akan integrasi aplikasi yang lebih baik. Linux, didukung oleh bermacam produk middleware, memberikan pilihan sistem operasi dan middleware yang stabil, dengan harga yang bersaing.


Contoh Middleware

1. Java’s : Remote Procedure Call
Remote Procedure Calls (RPC) memungkinkan suatu bagian logika aplikasi untuk didistribusikan pada jaringan. Contoh:

· SUN RPC, diawali dengan network file system (SUN NFS).
· DCE RPC, sebagai dasar Microsoft’s COM.

Object Request Brokers (ORBs) memungkinkan objek untuk didistribusikan dan dishare pada jaringan yang heterogen. Pengembangan dari model prosedural RPC, –Sistem objek terdistribusi, seperti CORBA, DCOM, EJB, dan .NET memungkinkan proses untuk dijalankan pada sembarang jaringan.

2. Object Management Group’s : Common, dan Object Request Broker Architecture (COBRA)

3. Microsoft’s COM/DCOM (Companent Object Model), serta


4. Also .NET Remoting.

Teknologi yang Terkait User Interface

Rizki Rachma Putri
18111238 - 4KA41

sumber: 
http://en.wikipedia.org/wiki/Computer_vision
http://allofmae.blogspot.com/2009/12/definisi-antar-muka.html
http://heranapit.blogspot.com/2010/10/teknologi-yang-terkait-antar-muka.html
http://asalasalannn.blogspot.com/2014/11/teknologi-yang-terkait-user-interface.html



Sebelum membahas tentang teknologi yang terkait dengan antar muka telematika, ada baiknya terlebih dahulu memahami apa yang dimaksud dengan antar muka (interface). Pengertian antarmuka ( interface) adalah salah satu layanan yang disediakan sistem operasi sebagai sarana interaksi antara pengguna dengan sistem operasi. Antarmuka (interface) adalah komponen sistem operasi yang bersentuhan langsung dengan pengguna.

Terdapat dua jenis antarmuka, yaitu Command Line Interface(CLI) danGraphical User Interface(GUI).

Command Line Interface(CLI)
CLI adalah tipe antarmuka dimana pengguna berinteraksi dengan sistem operasi melalui text-terminal. Pengguna menjalankan perintah dan program di sistem operasi tersebut dengan cara mengetikkan baris-baris tertentu. Meskipun konsepnya sama, tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya. UNIX memberi nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Microsoft Disk Operating System (MS-DOS) memberi nama command.com atau Command Prompt. Sedangkan pada Windows Vista, Microsoft menamakannya PowerShell. Pengguna Linux mengenal CLI pada Linux sebagai terminal, sedangkan pada Apple namanya adalah commandshell.

Graphical User Interface(GUI)
GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan sistem operasi melalui gambar-gambar grafik, ikon, menu, dan menggunakan perangkat penunjuk ( pointing device) seperti mouse atau track ball. Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP ( window, icon, menu, pointing device).

Terdapat 6 macam fitur Teknologi yang terkait antar muka telematika. Fitur-fitur itu antara lain:

Head Up Display (HUD)
Head Up Display (HUD) merupakan sebuah tampilan transparan yang menampilkan data tanpa mengharuskan penggunanya untuk melihat ke arah yang lain dari sudut pandang biasanya. Asal nama dari alat ini yaitu pengguna dapat melihat informasi dengan kepala yang terangkat (head up) dan melihat ke arah depan daripada melihat ke arah bawah bagian instrumen. Walaupun HUD dibuat untuk kepentingan penerbangan militer, sekarang HUD telah digunakan pada penerbangan sipil, kendaraang bermotor dan aplikasi lainnya.
Teknologi ini pada awalnya digunakan pada bidang militer saja, seperti penggunaan pada pesawat tempur berikut ini:



Gambar 1. Penggunaan HUD pada pesawat F-16
Kini teknologi Head Up Display (HUD) juga diterapkan oleh industri otomotif di dunia, dan BMW menjadi pabrikan otomotif pertama yang meluncurkan produk massal dengan teknologi HUD di kaca depannya. Teknologi ini tak hanya memberi kenyamanan bagi pengemudi, melainkan juga keselamatan berkendara.
Pada saat mengemudi, seseorang dihadapkan pada banyak hal yang bisa berakibat pada berkurangnya perhatian terhadap situasi lalu-lintas. Umpamanya, pada saat memutar musik, mendengarkan radio, bercakap-cakap dengan penumpang, bahkan ketika pengemudi sekadar mengalihkan pandangannya ke arah dasbor. Perlu waktu satu detik bagi seorang pengemudi untuk melirik indikator kecepatan pada dasbor. Padahal dengan waktu satu detik pula, mobil pada kecepatan 50 kilometer per jam bisa meluncur sejauh 50 kaki.
Fakta lapangan seperti itulah yang mendasari industri otomotif terus berupaya meminimalkan resiko, dengan menciptakan sistem kontrol. Salah satunya, dengan Head-Up Display (HUD), yang memiliki prospek menjanjikan. Itu karena HUD mampu menampilkan informasi penting pada kaca depan, langsung pada area pandang pengemudi, hingga ia tak perlu lagi menunduk atau celingukan mengalihkan pandangannya dari jalan di depannya. Dengan memanfaatkan proyektor laser (laser projector), diharapkan kaca mobil depan nantinya bisa berfungsi sebagai layar monitor yang bisa menampilkan berbagai informasi berguna bagi pengendara.
Tidak sampai di situ, HUD juga diharapkan mampu menjadi alat bantu ketika mengemudi dalam kabut yang tebal atau kegelapan malam. Dengan tambahan beberapa sensor sonar dan kamera night vision, kaca depan mobil nantinya mampu menunjukkan area-area penting dari jalanan yang berada di depan mobil, seperti tepi jalan, rambu, dan objek yang melintas di depannya. Berikut merupakan contoh penggunaan HUD di masa depan.

Tangible User Interface
Tangible User Interface, yang disingkat TUI, adalah antarmuka dimana seseorang dapat berinteraksi dengan informasi digital lewat lingkungan fisik. Nama inisial Graspable User Interface, sudah tidak lagi digunakan. Salah satu perintis TUI ialah Hiroshi Ishii, seorang profesor di Laboratorium Media MIT yang memimpin Tangible Media Group. Pandangan istimewanya untuk tangible UI disebut tangible bits, yaitu memberikan bentuk fisik kepada informasi digital sehingga membuat bit dapat dimanipulasi dan diamati secara langsung.
Sebuah contoh nyata adalah Marmer UI Answering Machine oleh Durrell Uskup (1992). Sebuah kelereng mewakili satu pesan yang ditinggalkan di mesin penjawab. Menjatuhkan marmer ke piring diputar kembali pesan atau panggilan terkait kembali pemanggil.

Contoh lain adalah sistem Topobo. Balok-balok dalam LEGO Topobo seperti blok yang dapat bentak bersama, tetapi juga dapat bergerak sendiri menggunakan komponen bermotor. Seseorang bisa mendorong, menarik, dan memutar blok tersebut, dan blok dapat menghapal gerakan-gerakan ini dan diulang mereka.
Pelaksanaan lain memungkinkan pengguna untuk membuat sketsa gambar di atas meja sistem dengan pena yang benar-benar nyata. Menggunakan gerakan tangan, pengguna dapat mengkloning gambar dan peregangan dalam sumbu X dan Y akan hanya sebagai salah satu program dalam cat. Sistem ini akan mengintegrasikan kamera video dengan gerakan system pengakuan.
Contoh lain adalah logat, pelaksanaan TUI membantu membuat produk ini lebih mudah diakses oleh pengguna tua produk. 'teman' lewat juga dapat digunakan untuk mengaktifkan interakasi yang berbeda dengan produk.
Beberapa pendekatan telah dilakukan untuk membangun middleware untuk TUI generik. Mereka sasaran menuju kemerdekaan aplikasi domain serta fleksibilitas dalam hal teknologi sensor yang digunakan. Sebagai contoh, Siftables menyediakan sebuah platform aplikasi yang sensitif menampilkan gerakan kecil bertindak bersama-sama untuk membentuk antar muka manusia – computer.
Dukungan kerjasama TUIs harus mengizinkan distribusi spasial, kegiatan asynchronous, dan modifikasi yang dinamis, TUI infrastruktur, untuk nama yang paling menonjol. Pendekatan ini menyajikan suatu kerangka kerja yang didasarkan pada konsep ruang tupel LINDA untuk memenuhi persyaratan ini. Kerangka kerja yang dilaksanakan TUI untuk menyebarkan teknologi sensor pada semua jenis aplikasi dan aktuator dalam lingkungan terdistribusi.

Computer Vision
Computer Vision (komputer visi) merupakan ilmu pengetahuan dan teknologi dari mesin yang melihat. Dalam aturan pengetahuan, komputer visi berhubungan dengan teori yang digunakan untuk membangun sistem kecerdasan buatan yang membutuhkan informasi dari citra (gambar). Data citranya dapat dalam berbagai bentuk, misalnya urutan video, pandangan deri beberapa kamera, data multi dimensi yang di dapat dari hasil pemindaian medis.
Sebagai disiplin teknologi, Computer Vision berusaha untuk menerapkan teori dan model untuk pembangunan sistem visi komputer. Contoh aplikasi dari visi komputer mencakup sistem untuk:
Pengendalian proses (misalnya, sebuah robot industri atau kendaraan otomatis).
Mendeteksi peristiwa (misalnya, untuk pengawasan visual atau menghitung orang).
Mengorganisir informasi (misalnya, untuk pengindeksan database foto dan gambar urutan).
Modeling benda atau lingkungan (misalnya, inspeksi industri, analisis citra medis atau model  topografi).
Interaksi (misalnya, sebagai input ke perangkat untuk interaksi manusia komputer).

Browsing Audio Data
Browsing Audio Data Browsing Audio Data merupakan metode browsing jaringan yang digunakan untuk browsing video / audio data yang ditangkap oleh sebuah IP kamera. Jaringan video / audio metode browsing mencakupi langkah-langkah sebagai berikut ; Menjalankan sebuah program aplikasi komputer lokal untuk mendapatkan kode identifikasi yang disimpan dalam kamera IP. Transmisi untuk mendaftarkan kode identifikasi ke DDNS ( Dynamic Domain Name Server) oleh program aplikasi. Mendapatkan kamera IP pribadi alamat dan alamat server pribadi sehingga pasangan IP kamera dan kontrol kamera IP melalui kamera IP pribadi alamat dan alamat server pribadi compile ke layanan server melalui alamat server pribadi sehingga untuk mendapatkan video/audio data yang ditangkap oleh kamera IP, dimana server layanan menangkap video/audio data melalui Internet.

Speech Recognition
Dikenal juga dengan pengenal suara otomatis (automatic speech recognition) atau pengenal suara komputer (computer speech recognition). Merupakan salah satu fitur antarmuka telematika yang merubah suara menjadi tulisan. Istilah ‘voice recognition’ terkadang digunakan untuk menunjuk ke speech recognition dimana sistem pengenal dilatih untuk menjadi pembicara istimewa, seperti pada kasus perangkat lunak untuk komputer pribadi, oleh karena itu disana terdapat aspek dari pengenal pembicara, dimana digunakan untuk mengenali siapa orang yang berbicara, untuk mengenali lebih baik apa yang orang itu bicarakan. Speech recognition merupakan istilah masukan yang berarti dapat mengartikan pembicaraan siapa saja.

Speech Synthesis

Speech synthesis merupakan hasil kecerdasan buatan dari pembicaraan manusia. Komputer yang digunakan untuk tujuan ini disebut speech syhthesizer dan dapat diterapkan pada perangkat lunak dan perangkat keras. Sebuah sistem text to speech (TTS) merubah bahasa normal menjadi pembicaraan.