Jumat, 11 Desember 2009

PROSES KOMUNITAS JAVA Java Commnunity Process (JCP)

Bab 12
PROSES KOMUNITAS JAVA
Java Commnunity Process (JCP)

1. Virtual Machine (VM)
1.1 Pendahuluan
Virtual machine (VM) adalah suatu environment, biasanya sebuah program atau system operasi, yang tidak ada secara fisik tetapi dijalankan dalam environment lain. Dalam konteks ini, VM disebut “guest” sementara environment yang menjalankannya disebut “host”. Ide dasar dari virtual machine adalah mengabtraksi perangkat keras dari satu komputer (CPU, memori, disk, dst) ke beberapa environment eksekusi, sehingga menciptakan illusi bahwa masing-masing environment menjalankan komputernya [terpisah] sendiri.
VM muncul karena adanya keinginan untuk menjalankan banyak sistem operasi pada satu komputer.



Teknologi virtual machine memiliki banyak kegunaan seperti memungkinkan konsolidasi perangkat keras, memudahkan recovery sistem, dan menjalankan perangkat lunak terdahulu. Salah satu penerapan penting dari teknologi VM adalah integrasi lintas platform. Beberapa penerapan lainnya yang penting adalah:
Konsolidasi server.
Jika beberapa server menjalankan aplikasi yang hanya memakan sedikit sumber daya, VM dapat digunakan untuk menggabungkan aplikasi-aplikasi tersebut sehingga berjalan pada satu server saja, walaupun aplikasi tersebut memerlukan sistem operasi yang berbeda-beda.
Otomasi dan konsolidasi lingkungan pengembangan dan testing.
Setiap VM dapat berperan sebagai lingkungan yang berbeda, ini memudahkan pengembang sehingga tidak perlu menyediakan lingkungan tersebut secara fisik.
Menjalankan perangkat lunak terdahulu.
Sistem operasi dan perangkat lunak terdahulu dapat dijalankan pada sistem yang lebih baru.
Memudahkan recovery sistem.
Solusi virtualisasi dapat dipakai untuk rencana recovery sistem yang memerlukan portabilitas dan fleksibilitas antar platform.
Demonstrasi perangkat lunak.
Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan secara cepat.

1.2 Kelebihan Virtual Machine (VM)
Teknologi VM memiliki beberapa keunggulan, antara lain:
Hal keamanan.
VM memiliki perlindungan yang lengkap pada berbagai sistem sumber daya, yaitu dengan meniadakan pembagian sumber daya secara langsung, sehingga tidak ada masalah proteksi dalam VM. Sistem VM adalah kendaraan yang sempurna untuk penelitian dan pengembangan sistem operasi. Dengan VM, jika terdapat suatu perubahan pada satu bagian dari mesin, maka dijamin tidak akan mengubah komponen lainnya.
Memungkinkan untuk mendefinisikan suatu jaringan dari Virtual
Machine (VM).
Tiap-tiap bagian mengirim informasi melalui jaringan komunikasi virtual. Sekali lagi, jaringan dimodelkan setelah komunikasi fisik jaringan diimplementasikan pada perangkat lunak.

1.3 Kekurangan Virtual Machine (VM)
Beberapa kesulitan utama dari konsep VM, diantaranya adalah:
Sistem penyimpanan.
Sebagai contoh kesulitan dalam sistem penyimpanan adalah sebagai berikut: Andaikan kita mempunyai suatu mesin yang memiliki 3 disk drive namun ingin mendukung 7 VM. Keadaan ini jelas tidak memungkinkan bagi kita untuk dapat mengalokasikan setiap disk drive untuk tiap VM, karena perangkat lunak untuk mesin virtual sendiri akan membutuhkan ruang disk secara substansial untuk menyediakan memori virtual dan spooling. Solusinya adalah dengan menyediakan disk virtual atau yang dikenal pula dengan minidisk, dimana ukuran daya penyimpanannya identik dengan ukuran sebenarnya. Dengan demikian, pendekatan VM juga menyediakan sebuah antarmuka yang identik dengan perangkat keras yang mendasari.
Pengimplementasian sulit.
Meski konsep VM cukup baik, namun VM sulit diimplementasikan.

1.4 Macam-macam Virtual Machine
1.Virtual Machine Sistem
VM sistem memungkinkan pembagian sumber daya perangkat keras yang ada ke dalam VM-VM yang berbeda, masing-masing menjalankan system operasinya sendiri. Lapisan perangkat lunak yang menyediakan virtualisasi disebut virtual machine monitor atau hypervisor. Sebuah hypervisor bias berjalan pada perangkat keras (Tipe 1 atau native VM) atau di atas sebuah sistem operasi (Tipe 2 atau hosted VM).
Keunggulan utama dan VM sistem adalah:
Berbagai lingkungan sistem operasi dapat berjalan pada komputer yang sama, dalam isolasi antar lingkungan yang kyat VM dapat menyediakan instruction set architecture (ISA) yang berbeda dengan yang ada pada perangkat keras.
Sistem operasi guest (yang berjalan di atas VM) tidak harus merupakan sistem operasi yang sama (sehingga bisa menjalankan sistem operasi terdahulu untuk menggunakan perangkat lunak yang belum di-port ke versi yang lebih baru). Penggunaan VM untuk mendukung berbagai sistem operasi yang berbeda menjadi populer pada embedded system, di mana sistem operasi real time digunakan bersamaan dengan sistem operasi high level seperti Linux atau Windows.
Kegunaan lainnya adalah untuk men-sandbox (mengisolasi perubahan kodekode yang masi belum terpercaya ) dari OS yang belum bisa dipercaya, karena masih dalam tahap pengembangan. VM memiliki manfaat lain pada pengembangan system operasi seperti akses debugging yang lebih baik dan reboot yang lebih cepat.

2.Virtual Machine Proses
Suatu VM proses, kadang disebut application virtual machine, berjalan sebagai applikasi normal di dalam sebuah sistem operasi dan mendukung satu proses. VM Proses diciptakan saat proses tersebut dimulai dan dihancurkan (destroyed) ketika prosesnya exit. Tujuannya adalah menyediakan environment pemrograman yang platform-independent yang mengabstraksi detil-detil perangkat lunak atau sistem operasi, dan mengizinkan suatu program tereksekusi dengan cara yang sama pada platform manapun.
VM proses menyediakan abstraksi tingkat-tinggi (dibandingkan abstraksi tingkat rendah dari VM sistem) – yaitu abstraksi bahasa pemrograman tingkat tinggi. VM proses diimplementasi menggunakan interpreter.
Tipe VM ini menjadi populer dengan bahasa pemrograman Java, yang diimplementasi dengan Java Virtual Machine. Contoh lainnya adalah .NET Framework, yang berjalan atas VM disebut Common Language Runtime.
Kasus istimewa dari VM proses adalah sistem yang mengabstraksi mekanisme komunikasi dari cluster komputer (yang mungkin heterogen). VMnya tidak terdiri dari satu proses, melainkan satu proses per mesin fisik di dalam cluster. VM tersebut dirancang untuk mempermudah pekerjaan memrogramkan aplikasi parallel dengan membiarkan programmer fokus pada algoritma daripada mekanisme komunikasi yang disediakan oleh interconnect dan sistem operasi. Kenyataan bahwa komunikasi terjadi tidak disembunyikan, dan cluster tidak diusahakan direpresentasi sebagai satu mesin.

3.Virtualisasi Penuh
Virtualisasi penuh dalam ilmu komputer ialah teknik virtualisasi yang digunakan untuk implementasi pada berbagai macam lingkungan virtual machine, yang mana pada virtualisasi penuh menyediakan simulasi lengkap dari perangkat keras. Simulasi lengkap ini menyebabkan semua perangkat lunak yang bisa dieksekusi langsung pada perangkat keras dieksekusi juga pada VM, termasuk semua sistem operasi.
Salah satu ilustrasi dari virtualisasi penuh adalah dalam program kontrol dari sistem operasi CP/CMS dari IBM. Setiap pengguna dari CP/CMS diberikan sebuah sistem komputer (yang sebenarnya merupakan virtual machine) yang berdiri sendiri. Virtual machine tersebut memiliki semua kemampuan dari perangkat keras yang mendasarinya, dan untuk penggunanya, virtual machine tidak dapat dibedakan dengan sebuah sistem yang tersendiri. Simulasi dilakukan secara menyeluruh dan didasarkan prinsip operasi dari perangkat keras sehingga mencakup instruction set, main memory, interrupts, exceptions, and device ccess. Hasilnya adalah sebuah mesin yang dapat dibagi antar banyak pengguna.
Virtualisasi penuh hanya dimungkinkan dengan kombinasi perangkat keras dan perangkat lunak yang tepat. Sebagai contoh, tidak dimungkinkan untuk kebanyakan sistem IBM System/360. Sistem x86 juga dulunya disangka tidak dapat menjalankan virtualisasi penuh (walaupun banyak VM di sistem ini cukup dekat untuk disebut virtualisasi penuh misalnya Vmware Workstation, VMware Server, VirtualBox, Parallels Desktop for Mac, Adeos, Mac-on-Linux, Win4BSD, and Win4Lin Pro), tetapi dengan menggunakan teknik binary translation, VMware bisa menjalankan virtualisasi penuh.
Tantangan utama pada virtualisasi penuh adalah simulasi dari operasi yang memerlukan hak khusus seperti instruksi M/K. Pengaruh dari setiap operasi yang dilakukan dalam VM harus dijaga agar tetap di dalam VM – operasi virtual tidak diizinkan untuk mengubah status pada VM lain, program kontrol, atau perangkat keras. Instruksi yang pengaruhnya diatur oleh program control bisa langsung dieksekusi oleh perangkat keras. Sedangkan instruksi yang bisa berpengaruh sampai ke luar VM harus dibungkus dan disimulasikan.
Virtualisasi penuh sejauh ini terbukti sukses untuk keperluan pembagian sebuah sistem komputer untuk digunakan banyak pengguna dan untuk isolasi pengguna dengan pengguna lain dan dengan program kontrol untuk memperoleh
keandalan dan keamanan sistem.

4.Virtualisasi Paruh
Virtualisasi paruh dalam ilmu komputer ialah teknik virtualisasi yang digunakan untuk pengimplementasian pada berbagai macam lingkungan virtual machine, yang mana pada virtualisasi paruh ini lingkungan VM hanya menyediakan simulasi perangkat keras secara sebagian saja. Tidak semua fitur perangkat keras disimulasikan sehingga tidak semua perangkat lunak dapat berjalan tanpa modifikasi terlebih dahulu.
Kunci utama dari partial virtualization adalah virtualisasi alamat, yang artinya setiap virtual machine terdiri dari sebuah alamat yang independen. Kemampuan ini haruslah didukung oleh kemampuan untuk merelokasi alamat dari sebuah perangkat keras, sudah ada pada kebanyakan implementasi praktis dari virtualisasi paruh.
Virtualisasi paruh adalah awal dari adanya virtualisasi penuh. Virtualisasi paruh digunakan pada generasi pertama dari sistem time-sharing CTSS dan sistem paging eksperimental pada IBM M44/44X. Istilah ini juga bias digunakan untuk mendeskripsikan system operasi yang menyediakan ruang alamat yang terpisah untuk pengguna atau proses yang berbeda.
Virtualisasi paruh ini jauh lebih mudah diimplementasi daripada virtualisasi penuh, seringkali sanggup menyediakan VM yang berguna dan tangguh serta mendukung aplikasi-aplikasi penting. Kekurangannya adalah masalah kompabilitas perangkat keras terdahulu dan portabilitas (tidak mendukung banyak sistem). Jika suatu fitur perangkat keras tidak disimulasikan maka perangkat lunak yang menggunakan fitur tersebut akan gagal berjalan.
5.Virtualisasi Asli
Virtualiasi asli adalah teknik dimana VM digunakan untuk mensimulasi statu environment perangkat keras lengkap supaya sistem operasi yang tidak dimodifikasi dapat dijalankan untuk tipe CPU yang sama di terisolasi lengkap di dalam wadah VM. Native virtualization memanfaatkan kemampuan bantuan perangkat keras yang tersedia di dalam prosesor-prosesor termutakhir dari Intel (Intel VT) dan Advanced Micro Devices (AMD-V) untuk menyediakan performa mendekati sistem aslinya.
Virtualisasi asli, juga dikenal sebagai virtualisasi terakselerasi atau virtualisasi hybrid adalah kombinasi virtualisasi penuh dan teknik akselerasi I/O dan sering dipakai untuk sangat meningkatkan performa virtualisasi penuh. Biasanya, metode ini dimulai dengan Virtual Machine Monitor yang mampu virtualisasi penuh lalu, berdasarkan analisa performa, menjalankan teknik akselerasi terpilih. I/O dan network drivers adalah bagian yang paling umum diakselerasi dalam virtualisasi asli.

1.5 Contoh Virtual Machine
1.VMware
Pada GNU/Linux salah satu virtual machine yang terkenal adalah VMware http://www.vmware.com. VMware memungkinkan beberapa sistem operasi dijalankan pada satu mesin PC tunggal secara bersamaan. Hal ini dapat dilakukan tanpa melakukan partisi ulang dan boot ulang. Pada Virtual Machina (VM) yang disediakan akan dijalankan sistem operasi sesuai dengan yang diinginkan. Dengan cara ini maka pengguna dapat memboot suatu sistem operasi (misal Linux) sebagai sistem operasi tuan rumah (host) dan lalu menjalankan sistem operasi lainnya misal MS Windows. Sistem operasi yang dijalankan di dalam sistem operasi tuan rumah dikenal dengan istilah system operasi tamu (guest).



Gambar Contoh skema penggunaan pada VMware versi ESX Servers

Kebanyakan orang berpikir bahwa secara logisnya VMware diibaratkan sebagai software yang sering digunakan untuk keperluan percobaan game, aplikasi, untuk meng-install dua sistem operasi dan menjalankannya (misalnya Windows maupun Linux) pada harddisk yang sama tanpa memerlukan logout dari sistem operasi yang lainnya, secara gampang kita hanya tinggal menekan Alt + Tab untuk mengganti SO. Akan tetapi pada dasarnya VMware bukanlah emulator, karena tidak mengemulasikan CPU dan perangkat keras di dalam suatu Virtual Machina (VM), tetapi hanya membolehkan sistem operasi lainnya dijalankan secara paralel dengan sistem operasi yang telah berjalan. Setiap Virtual Machine (VM) dapat memiliki alamat IP sendiri (jika mesin tersebut di suatu jaringan), dan
pengguna dapat menganggapnya sebagai mesin terpisah.

2.Xen VMM
Xen adalah open source virtual machine monitor, dikembangkan di University of Cambridge. Dibuat dengan tujuan untuk menjalankan sampai dengan seratus sistem operasi ber-fitur penuh (full featured OSs) di hanya satu komputer. Virtualisasi Xen menggunakan teknologi paravirtualisasi menyediakan isolasi yang aman, pengatur sumberdaya, garansi untuk quality-of-services dan live migration untuk sebuah mesin virtual.
Untuk menjalankan Xen, sistem operasi dasar harus dimodifikasi secara khusus untuk kebutuhan tersendiri dan dengan cara ini dicapai kinerja virtualisasi sangat tinggi tanpa hardware khusus.



Gambar Contoh dari penggunaan Xen VMM

3.Java VM
Program Java yang telah dikompilasi adalah platform-neutral bytecodes yang dieksekusi oleh Java Virtual Machine (JVM). JVM sendiri terdiri dari: class loader, class verification, runtime interpreter, Just In-Time (JIT) untuk meningkatkan kinerja kompilator.
Bahasa mesin terdiri dari sekumpulan instruksi yang sangat sederhana dan dapat dijalankan secara langsung oleh CPU dari suatu komputer. Sebuah program yang dibuat dengan bahasa tingkat tinggi tidak dapat dijalankan secara langsung pada komputer. Untuk dapat dijalankan, program tersebut harus ditranslasikan kedalam bahasa mesin. Proses translasi dilakukan oleh sebuah program yang disebut compiler.
Setelah proses translasi selesai, program bahasa-mesin tersebut dapat dijalankan, tetapi hanya dapat dijalankan pada satu jenis komputer. Hal ini disebabkan oleh setiap jenis komputer memiliki bahasa mesin yang berbedabeda. Alternatif lain untuk mengkompilasi program bahasa tingkat tinggi selain menggunakan compiler, yaitu menggunakan interpreter. Perbedaan antara compiler dan interpreter adalah compiler mentranslasi program secara keseluruhan sekaligus, sedangkan interpreter menstranslasi program secara instruksi per instruksi. Java dibuat dengan mengkombinasikan antara compiler dan interpreter.
Program yang ditulis dengan java di-compile menjadi bahasa mesin. Tetapi bahasa mesin untuk komputer tersebut tidak benar-benar ada. Oleh karena itu disebut "Virtual" komputer, yang dikenal dengan Java Virtual Machine (JVM). Bahasa mesin untuk JVM disebut Java bytecode. Salah satu keunggulan dari Java adalah dapat digunakan atau dijalankan pada semua jenis komputer. Untuk menjalankan program Java, komputer membutuhkan sebuah interpreter untuk Java bytecode.
Interpreter berfungsi untuk mensimulasikan JVM sama seperti virtual computer mensimulasikan PC komputer. Java bytecode yang dihasilkan oleh setiap jenis komputer berbeda-beda, sehingga diperlukan interpreter yang berbeda pula untuk setiap jenis komputer. Tetapi program Java bytecode yang sama dapat dijalankan pada semua jenis komputer yang memiliki Java bytecode.

1.6 Rangkuman
Virtualisasi adalah metode untuk membuat sesuatu menjadi lepas dari ketergantungan secara fisik. Contoh; virtual machine adalah komputer, yang sebetulnya hanya berupa sebuah file di hard disk kita. Dengan virtualisasi, maka sebuah komputer (fisik) bisa menjalankan banyak komputer virtual sekaligus pada saat yang bersamaan. Jenis-jenis dari VM adalah VM sistem di mana sebuah VM dapat menjalankan sebuah sistem operasinya sendiri, kemudian VM proses di mana VM hanya menjalankan sebuah proses saja. Kemudian VM juga dibagi berdasarkan tingkat virtualisasinya, yaitu virtualisasi penuh yang mensimulasikan seluruh fitur perangkat keras sehingga memungkinkan perangkat lunak berjalan pada VM tanpa modifikasi. Kemudian virtualisasi paruh, di mana tidak semua fitur perangkat keras disimulasikan. Yang terakhir adalah virtualisasi asli, yang mana merupakan virtualisasi penuh yang digabungkan dengan bantuan perangkat
keras yang mendukung virtualisasi.
Virtual Machine (VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkan sistem operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk system S/370 dan S/390 dan disebut sebagai sistem operasi VM/ESA (Enterprise System Architecture).
VMware adalah suatu aplikasi yang memungkinkan kita untuk meng-install dua sistem operasi dan menjalakan aplikasinya (misalnya Windows and Linux) pada hardisk yang sama tanpa perlu logout dari SO yg lain. Xen adalah open source Virtual Machine Monitor, dikembangkan di University of Cambridge, untuk menjalakannya harus melalui dengan sebuah proses yakni pemodifikasian sistem operasi untuk lebih full featured OSs. Bahasa mesin untuk JVM disebut Java bytecode dengan keunggulannya yang bisa dijalankan pada berbagai jenis komputer atau platform.

Automotive Multimedia Interface Collaboration

Automotive Multimedia Interface Collaboration


Kolaborasi Antar muka Otomotif Multimedia adalah suatu kelompok yang dibuat untuk menciptakan standar umum yang digunakan dalam mengatur bagaimana suatu perangkat alat elektronik bekerja misalnya komputer dan alat komunikasi kendaraan. Dan memiliki anggota: Fiat, Ford, General Motors, Honda, Mitsubishi, Nissan, PSA Peugeot-Citroen, Renault, …

Automotive Multimedia Interface Kolaborasi (AMIC) mengatakan akan menjadi tuan rumah tiga update internasional briefing untuk menjadi pemasok otomotif, komputer dan teknologi tinggi industri elektronik.


"AMIC telah mengalami kemajuan yang signifikan dalam satu tahun terakhir ini dalam menyelesaikan struktur organisasi dan mencapai kesepakatan tentang persyaratan yang diperlukan untuk hardware dan software yang baik di masa depan untuk mobil dan truk," Jurubicara AMIC Dave Acton berkata, "Dan sekarang sudah saatnya bagi kita untuk bertemu dengan pemasok dan mereka yang tertarik untuk menjadi pemasok untuk memastikan kami pindah ke tahap berikutnya pembangunan kita bersama-sama. "
Acton menekankan bahwa AMIC terbuka untuk semua pemasok yang tertarik bisnis elektronik. AMIC dibentuk pada bulan September l998 dan saat ini dipimpin oleh 12 produsen otomotif dan anak perusahaan yang meliputi: BMW, DaimlerChrysler, Ford, Fiat, General Motors, Honda, Mitsubishi, Nissan, PSA / Peugeot-Citroen, Renault, Toyota, dan VW. Seorang juru bicara mengatakan kelompok AMIC berencana untuk mendirikan sebuah kantor di San Francisco di masa depan.

Open Service Gateway Intiative (OSGi)

Bab 10
Open Service Gateway Intiative (OSGi)

The OSGi Alliance (sebelumnya dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah organisasi standar yang didirikan pada Maret 1999. Aliansi dan anggota-anggotanya telah ditentukan yang berbasis Java layanan platform yang dapat dikelola dari jarak jauh. Inti 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 Java 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.

Manajemen Data Telematika

BAB 9
MANAJEMEN DATA TELEMATIKA

PENGERTIAN CLIENT-SERVER

Client/Server dapat diartikan sebagai kemampuan komputer untuk meminta layanan request data kepada komputer lain. Setiap instance dari komputer yang meminta layanan disebut sebagai client, sedangkan setiap instance yang menyediakan layanan disebut sebagai server. Data yang diminta oleh client dapat diambil dari database pada sisi server yang sering disebut database server, seperi misalnya MySQL, PostgreSQL, Oracle, atau SQL Server.

KARAKTERISTIK CLIENT-SERVER

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.
Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.
Mix-and-match : tidak tergantung pada platform
Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.
Encapsulation of service : message memberitahu server apa yang akan dikerjakan.
Scalability : sistem C/S dapat dimekarkan baik vertical maupun horisontal
Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri.
Characteristics of a client
– Initiates requests
– Waits for and receives replies
– Usually connects to a small number of servers at one time
– Typically interacts directly with end-users using a graphical user interface
Characteristics of a server
– Passive (slave)
– Waits for requests from clients
–Upon receipt of requests, processes them and then serves replies
– Usually accepts connections from a large number of clients
– Typically does not interact directly with end-users

KEUNTUNGAN CLIENT-SERVER

Client-server mampu menciptakan aturan dan kewajiban komputasi secara terdistribusi.
Mudah dalam maintenance. Memungkinkan untuk mengganti, memperbaiki server tanpa mengganggu client.
Semua data disimpan di server Server dapat mengkontrol akses terhadap resources, hanya yang memiliki autorisasi saja.
Tempat penyimpanan terpusat, update data mudah. Pada peer-to-peer, update data sulit
Mendukung banyak clients berbeda dan kemampuan yang berbeda pula.


KELEMAHAN CLIENT-SERVER

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.


ARSITEKTUR CLIENT/SERVER

Menggunakan LAN untuk mendukung jaringan PC
Masing-masing PC memiliki penyimpan tersendiri
Berbagi hardware atau software




ARSITEKTUR FILE SERVER

Model pertama Client/Server
Semua pemrosesan dilakukan pada sisi workstation
Satu atau beberapa server terhubungkan dalam jaringan
Server bertindak sebagai file server
File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut.
Setiap klien dilengkapi DBMS tersendiri
DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server
Aktivitas pada klien:
Meminta data
Meminta penguncian data

Tanggapan dari klien :
Memberikan data
Mengunci data dan memberikan statusnya




BATASAN FILE SERVER

Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan
Setiap klien harus memasang DBMS sehingga mengurangi memori
Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus
Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersama-sama ð tanggung jawab diserahkan kepada programmer



ARSITEKTUR DATABASE SERVER

Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis).
Database server bertanggung jawab pada penyimpana, pengaksesan, dan pemrosesan database.
Database serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi
Beban jaringan menjadi berkurang
Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server
Database server merupakan implementasi dari two-tier architecture

APPLICATION ARCHITECTURES




Two-tier architecture: Contoh - program klien menggunakan ODBC/JDBC untuk berkomunikasi dengan database
Three-tier architecture:
Contoh aplikasi berbasis Web


Contoh Two-Tier Architecture :



Contoh Three-Tier Architecture :



Arsitektur Three-Tier
Melibatkan lapisan server yang lain selain lapisan database server.




Beberapa Keuntungan Arsitektur Three-Tier :

Keluwesan teknologi
Mudah untuk mengubah DBMS engine
Memungkinkan pula middle tier ke platform yang berbeda
Biaya jangka panjang yang rendah
Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan
Keunggulan kompetitif
Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi

Aplikasi Web dapat dibagi menjadi 2 macam:
Web Statis
Web Dinamis

Teknologi Web :
Teknologi untuk membentuk aplikasi Web yang dinamis :
1.Teknologi pada sisi klien (client-side technology)
2.Teknologi pada sisi server (server-side technology)

Teknologi pada sisi Klien:
1.Kontrol Active X
2.Java applet
3.Client-side script (JavaScript dan VBScript)
4.DHTML (CSS / Cascading Style Sheets)
Teknologi pada sisi Server :
CGI
FastCGI
Proprietary Web Server API (ISAPI dan NSAPI)
Active Server Pages (ASP)
Java Server Pages (JSP) dan Java Servlets
Server-side JavaScript
PHP

Middleware Telematika

Middleware Telematika

1. Definisi Middleware
Software yang berfungsi sebagai lapisan konversi atau penerjemah.
Juga sebagai Consolidator dan Integrator.
- Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada platform yang berbeda.
- Saat ini terdapat bermacam produk yang menawarkan middleware.






2. Lapisan Middleware





3. Tujuan dan asal usul Middleware
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 Environment (DCE),
Object Management Group's Common Object Request Broker Architecture (CORBA),
Microsoft's COM/DCOM (Component Object Model)

4. Arsitektur Teknis
Layanan Middleware merupakan sekumpulan S/W terdistribusi yang menempati lapisan antara aplikasi dan sistem operasi serta layanan jaringan di suatu node pada jaringan komputer




5. Layanan Middleware
Menyediakan kumpulan fungsi API (Application Programming Interfaces) yang lebih tinggi daripada API yang disediakan sistem operasi dan layanan jaringan yang memungkinkan suatu aplikasi dapat :
Mengalokasikan suatu layanan secara transparan pada jaringan.
Menyediakan interaksi dengan aplikasi atau layanan lain.
Tidak tergantung dari layanan jaringan.
Handal dan mampu memberikan suatu layanan.
Diperluas (dikembangkan) kapasitasnya tanpa kehilangan fungsinya

6. TP Monitors (Transaction Processing Monitors)
Produk pertama yang disebut middleware. Menempati posisi antara permintaan dari program client dan database, untuk menyakinkan bahwa semua transaksi ke database terlayani dengan baik





7. Karakteristik TP
Cenderung tidak sekedar sebagai koordinator dan pemantau transaksi pada beberapa sesumber data.
Meningkatkan unjuk kerja, kehandalan dan skalabilitas sistem server-side
TP Monitor TP monitors menyusun suatu kerangka kerja untuk pembuatan aplikasi server-side.
TP monitor dapat dengan handal dan efisien mengatur sesumber yng dibutuhkan oleh aplikasi yang sesuai dengan aturan sebuah TP Monitor
CICS (Customer Information Control System) dan IMS/TM (message-based transaction manager) adalah pemrosesan transaksi yang dibebankan pada mainframe. Pada sistem UNIX, BEA’s TUXEDO, BEA’s TOP END, dan IBM’s Encina adalah produk yang digunakan sebagai TP monitors. Pada lingkungan Java, kita mengenal EJB (Enterprise Java Beans)

8. Messaging Middleware.
Merupakan antarmuka dan transportasi antar aplikasi
Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau overloaded.
Mungkin berisi business logic yang merutekan message ke tujuan sebenarnya dan memformat ulang data lebih tepat.
Sama seperti sistem messaging email, kecuali messaging middleware digunakan untuk mengirim data antar aplikasi




9. Produk Messaging Middleware
• Produk utama messaging (pengiriman pesan) untuk pengaturan komunikasi asinkronus antar aplikasi adalah MQSeries dari IBM.
– MQSeries telah dipasangkan pada semua platform server.
• Microsoft memperkenalkan sistem messagingnya sendiri yang digabungkan dengan Component Object Model (COM), yaitu Microsoft Message Queue Server (MSMQ).
MSMQ dan MQSeries menawarkan fungsi yang sama.

10. Distributed Processing
Sistem objek terdistribusi, seperti CORBA, DCOM dan EJB memungkinkan proses-proses untuk dijalankan di sembarang node pada jaringan
Sistem Objek terdistrbusi tersebut berbeda dari messaging middleware, yang menyebabkan prosesproses (komponen/objek) dijalankan dalam mode synchronous daripada pengiriman data secara asynchronous




11. Remote Procedure Calls
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.

12. Middleware Basis Data
Middleware basisdata menyediakan antarmuka antara sebuah query dengan beberapa database yang terdistribusi. Menggunakan, baik arsitektur hub and spoke atau arsitektur terdistribusi, memungkinkan data untuk digabungkan dari beberapa sumber data yang berbeda atau terpisah.




13. Antarmuka Pemrograman Basisdata
Antarmuka pemrograman antar aplikasi dipertimbangkan juga sebagai sebuah middleware
–. Open Database Connectivity (ODBC).
Java Database Connectivity (JDBC )
Perl::DBI




14. Middleware Application Server
Sebuah Web-based Application server, yang menyediakan antarmuka untuk berbagai aplikasi, digunakan sebagai middleware antara browser dan aplikais.
J2EE adalah contoh application serverA wide range of server-side processing has been supported by appservers (i.e.;J2EE).





15. Arsitektur J2EE




16. Universal Computing
● Prinsip Dasar :
– Memungkinkan program yang sama dapat dijalankan pada platform apapun tanpa modifikasi.
Halaman HTML ditulis dalam JavaScript yang dapat dijalankan pada web browser yang mendukung JavaScript.
Aplikasi Java dan applet dijalankan oleh suatu Java Virtual Machine, yang dapat dibuat untuk berbagai sistem operasi Browser dan Java meniadakan kebutuhan platform tunggal.





17. Pertimbangan Pemakaian
Tujuan utama layanan middleware adalah untuk membantu memecahkan interkoneksi beberapa aplikasi dan masalah interoperabilitas. Bagaimana pun juga middleware bukanlah “obat mujarab” :
Ada jarak antara prinsip dan praktek. Beberapa middleware membuat suatu aplikasi tergantung pada suatu produk tertentu.
Sedikitnya jumlah middleware menjadikan rintangan tersendiri. Untuk menjaga lingkungan komputasi mudah diatur, pengembang biasanya memilih sejumlah kecil layanan yang memenuhi kebutuhan mereka
Selama layanan middleware masih memunculkan abtraksi pemrograman terdistrbusi, middleware masih akan memberikan bagi si pengembang suatu pilihan rancangan aplikasi yang cukup sulit. Contoh : pengembang masih harus menentukan layanan atau fungsi apa yang harus diletakkan pada client ataupun server.

18. Tipe Layanan Middleware
1. Layanan Sistem Terdistribusi.
• Komunikasi kritis, program-to-program, dan layanan manajemen data.
• RPC, MOM (Message Oriented Middleware) dan ORB.
2. Layanan Application.
• Akses ke layanan terdistribusi dan jaringan • Yang termasuk : TP (transaction processing) monitor dan layanan database, seperti Structured Query Language (SQL).
3. Layanan Manajemen Middleware.
• Memungkinkan aplikasi dan fungsi dimonitor secara terus menerus untuk menyakinkan unjuk kerja yang optimal pada lingkungan terdistribusi


19. Remoting Architectures
Distributed Computing Environment (DCE) dari Open Software Foundation (OSF). Secara aktualnya adalah sebuah lingkungan pemrosesan terdistribusi yang di dasarkan pada Remote Procedure Call (RPC) Common Object Request Broker Architecture (CORBA) dari Object Management Group’s (OMG).

20. Arsitektur-arsitektur Komponen
Microsoft’s Component Object Model (COM)
Menangani pemaketan dan deployment komponen yang mendukung berbagai bahasa pemrograman
JavaBeans dan Enterprise Java Beans (EJB) diperkenalkan oleh SUN Microsystem
Baik COM dan EJB diperluas menjadi :
COM diperluas ke Distributed COM (DCOM) menggunakan versi perluasan dari DCE RPC sebagai transport.
EJB mendukung komunikasi C/S yang di dasarkan pada Java Remote Method Invocation (RMI).
RMI adalah merupakan model pendistribusian komponen jarak jauh yang menggunakan Java, tanpa perlu Interface Definition.
Language (IDL) untuk mendeskripsikan interfacenya.
Microsoft memperkenalkan arsitektur .NET sebagai arsitektur komponen terbaru dengan basis web service sebagai tulang punggungnya


21. Arsitektur DCE dan Layanan-layanannya




22. Object Management Architecture (OMA)




23. Antarmuka ORB




24. Komponen COM Server





25. Karakteristik COM
COM adalah arsitektur komponen yang memiliki beberapa kekuatan
Ribuan kontrol ActiveX controls (in-process COM components) tersedia di pasar.
Microsoft dan vendor lain membangun banyak tool yang mempercepat perkembangan aplikasi berbasis pada COM.

Layanan tingkat lanjut seperti Microsoft Transaction Server (MTS) dan Microsoft Message Queuing Server (MSMQ) mendukung pengembangan sistem multi-tier C/S.
Microsoft menggunakan nama COM+ untuk menyatakan COM yang berjalan pada layanan tersebut

26. Microsoft .NET Framework




27. Kesimpulan
Middleware merupakan komponen perangkat lunak yang memberikan peranan penting dalam pengembangan aplikasi client/server dengan tidak memandang platform Beberapa arsitektur dan tipe middleware dapat digunakan sesuai dengan kebutuhan

Teknologi Yang Terkait Antar Muka Telematika

Bab 6 dan 7
TEKNOLOGI YANG TERKAIT ANTAR MUKA TELEMATIKA

Tangible User Interface

Sebuah Tangible User Interface (TUI) adalah sebuah antarmuka pengguna di mana orang berinteraksi dengan informasi digital melalui lingkungan fisik. Nama awal Graspable User Interface, yang tidak lagi digunakan.
Salah satu pelopor dalam antarmuka pengguna nyata adalah Hiroshi Ishii, seorang profesor di MIT Media Laboratory yang mengepalai Berwujud Media Group. Pada visi-Nya nyata UIS, disebut Berwujud Bits, adalah memberikan bentuk fisik ke informasi digital, membuat bit secara langsung dimanipulasi dan terlihat. Bit nyata mengejar seamless coupling antara dua dunia yang sangat berbeda dari bit dan atom.
Karakteristik Berwujud User Interfaces :
1. Representasi fisik digabungkan untuk mendasari komputasi informasi digital.
2. Representasi fisik mewujudkan mekanisme kontrol interaktif.
3. Representasi fisik perseptual digabungkan untuk secara aktif ditengahi representasi digital.
4. Keadaan fisik terlihat "mewujudkan aspek kunci dari negara digital dari sebuah sistem.


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 menghafal gerakan-gerakan ini dan replay 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 sistem 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 interaksi 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 antarmuka manusia-komputer.
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.

Fitur Pada Antar Muka Telematika

FITUR PADA ANTAR MUKA TELEMATIKA


Pengertian antarmuka ( interface) adalah salah satu layanan yang disediakan sistem operasi sebagai sarana interaksi antara pengguna dengan sistem operasi. Antarmuka adalah komponen sistem operasi yang bersentuhan langsung dengan pengguna.

Antarmuka pemakai (User Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka pemakai (User Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi.


Terdapat dua jenis antarmuka, yaitu Command Line Interface(CLI) dan Graphical 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.

• 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).

User interface berfungsi untuk menginputkan pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES) dan menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara menyeluruh step by step sehingga user mengerti apa yang akan dilakukan terhadap suatu sistem. Yang terpenting dalam membangun user interface adalah kemudahan dalam memakai atau menjalankan sistem, interaktif, komunikatif, sedangkan kesulitan dalam mengembangkan atau membangun suatu program jangan terlalu diperlihatkan.