Selasa, 08 Desember 2009

Arsitektur

Arsitektur 2-tier dan 3-tier

Pada awalnya client / server merupakan sebuah sistem yang saling berhubungan dalam sebuah jaringan yang memiliki dua komponen utama yaitu client dan server. Istilah ini kemudian dikenal juga dengan “2-tier”. Kemudian istilah tier itu sendiri digunakan untuk menjelaskan pembagian sebuah aplikasi yang melalui client dan server. Saat ini, pembagian proses kerja telah menjadi bagian utama dari konsep client / server sehingga proses pembagian kerja telah diatur lebih spesifik.

2-tier membagi proses load ke dalam 2 bagian. Aplikasi utama berjalan pada sisi client yang biasanya mengirimkan request dalam bentuk sintax SQL ke sebuah database server yang fungsinya menyimpan data.

Perkembangan internet dan jaringan yang pesat saat ini tidak memungkinkan lagi diselesaikan dengan metode 2-tier client / server. Aplikasi client / server berskala luas telah dikembangkan dan kini muncul E-Commerce yang berbasis internet. Hal tersebut tentunya membuat aplikasi-aplikasi semakin kompleks. Aplikasi-aplikasi tersebut dibagi menjadi beberapa komponen dan didistribusikan melalui multiprocesor. Banyak perusahaan besar yang sudah menggunakan client / server mulai merasakan 2-tier tidak relevan lagi untuk diimplementasikan kembali. Itu disebabkan karena perusahaan dituntut harus dapat mendukung internet dan semua komponennya. Aplikasi tersebut harus dapat melayani ribuan komputer client dimana aplikasi ini sering berjalan pada banyak server dan terdiri dari ratusan komponen-komponen software di dalamnya. Kemudian lahirlah istilah 3-tier.

3-tier membagi proses loading antara :

1. Komputer client menjalankan GUI logic

2. Aplikasi server menjalankan business logic

3. Database atau legacy aplication

3-tier menjelaskan pembagian secara fisik dari sebuah aplikasi yang melalui terminal (tier ke-1), minicomputer (tier ke-2), dan mainframe (tier ke-3).

Dengan pembagian kerja seperti itu maka 3-tier client / server lebih populer dibandingkan dengan 2-tier client / server. Kriteria yang cocok untuk menggunakan model arsitektur 3-tier client / server diantaranya :

· Banyaknya layanan atau class aplikasi lebih dari 50

· Program aplikasi dibuat dalam beberapa bahasa pemrograman yang berbeda untuk masing-masing organisasi

· Dua atau lebih data source yang heterogen seperti dua DBMS yang berbeda

· Suatu aplikasi akan digunakan lebih dari 3 tahun. Apalagi jika kita akan merencanakan banyak modifikasi atau penambahan

· Beban kerja yang sangat tinggi misalnya lebih dari 50000 transaksi perhari

Ekspektasi bahwa aplikasi akan terus berkembang sepanjang waktu

Teknologi

Berbagai Teknologi Interface Telematika

Sejujurnya saya memang tertarik dengan yang namanya telematika maupun segala hal yang berhubungan dengan telematika. Entah mengapa begitu mendengar istilah tersebut saya langsung memiliki keinginan untuk menggali lebih dalam tentangnya. Saat ini telah ditemukan berbagai teknologi yang berkaitan dengan interface telematika. Yang ingin saya tahu itu adalah istilah seperti Head-Up Displays systems, Tangible user Interface, Computer vision, Browsing audio data, Speech recognation, Speech synthesis.

Semua istilah tersebut belum saya pahami dengan baik ketika pertama kali saya mendengarnya. Untuk itu saya ingin memberikan beberapa penjelasan mengenai teknologi interface telematika yang sudah saya browsing di dunia maya.

u Head Up Display (HUD)

HUD merupakan sebuah tampilan transparan yang menyajikan data tanpa perlu meminta pengguna untuk melihat dari sudut pandang biasanya. Awalnya Head up Display ini dikembangkan untuk penerbangan militer tetapi sekarang sudah digunakan dalam pesawat terbang komersil, mobil dan aplikasi lainnya. Sebuah HUD tetap mengharuskan pengguna untuk melihat elemen layar pada badan pesawat maupun chasis kendaraan. Sistem menentukan gambar yang akan disajikan tergantung pada orientasi kendaraan. Helmet Mounted Displays (HMD) merupakan bentuk teknis dari HUD yang menampilkan elemen tampilan bergerak dengan orientasi kepala pengguna terhadap badan pesawat. Salah satu contoh pesawat tempur modern yang menggunakan HUD dan HMD adalah F/A-18, F-22, Eurofighter.

Ada 3 generasi dalam teknologi yang digunakan Head Up Display :

1. Generasi Pertama

Menggunakan CRT untuk menghasilkan sebuah gambar pada layar fosfor, memiliki kelemahan dari degradasi dari waktu ke waktu dari lapisan layar fosfor. Mayoritas HUDs beroperasi saat ini adalah dari jenis ini.

2. Generasi Kedua

Menggunakan sumber cahaya padat misalnya LED, yang dimodulasi oleh sebuah layar LCD untuk menampilkan gambar. Ini menghilangkan memudar dengan waktu dan juga tegangan tinggi yang dibutuhkan untuk sistem generasi pertama. Sistem ini pada pesawat komersial.

3. Generasi Ketiga

Menggunakan waveguides optik untuk menghasilkan gambar secara langsung dalam Combiner daripada menggunakan sistem proyeksi.

Faktor-faktor dalam merancang Head Up Display :

· Bidang penglihatan

· Eyebox

· Terang / kontras

· Menampilkan akurasi

· Instalasi

Terdapat 3 komponen penting dalam Head Up Display :

1. The Combiner

bagian dari unit yang terletak tepat di depan pilot. Ini adalah ke permukaan yang informasi diproyeksikan sehingga pilot dapat melihat dan menggunakannya.

2. The Projector Unit

menggunakan Katoda Ray Tube, Dioda cahaya, atau layar kristal cair untuk memproyeksikan gambar.

3. The Video Generation Computer

menyediakan antarmuka antara HUD (yaitu proyeksi unit) dan sistem / data yang akan ditampilkan.

u Tangible User Interface

Tangible User Interface merupakan sebuah antarmuka pengguna dimana orang berinteraksi dengan informasi digital melalui lingkungan fisik. Pelopornya adalah Hiroshi Ishii, seorang profesor di MIT Media Laboratory.

Karakteristik :

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.

u Computer Vision

Computer Vision berkaitan dengan teori untuk membangun sistem buatan yang memperoleh informasi dari gambar. Data gambar dapat mengambil banyak bentuk, seperti urutan video, dilihat dari beberapa kamera, atau multi-dimensi data dari scanner medis.

Contoh aplikasi visi komputer mencakup sistem untuk :

1. Pengendalian proses misalnya sebuah robot industri atau kendaraan otonom.

2. Mendeteksi peristiwa misalnya, untuk pengawasan visual atau orang menghitung.

3. Mengorganisir informasi misalnya, untuk pengindeksan database foto dan gambar.

4. Modeling benda atau lingkungan misalnya, industri inspeksi, analisis gambar medis.

5. Interaksi misalnya sebagai input ke perangkat untuk interaksi manusia komputer.

Sub-domain computer vision termasuk adegan rekonstruksi, event detektion, pelacakan video, pengenalan obyek, learning, pengindeksan, gerak estimasi, dan gambar restorasi.

Aplikasi dari Computer Vision :

· Bidang aplikasi komputer visi medis atau pemrosesan gambar medis berguna untuk memperoleh ekstraksi informasi dari data gambar untuk tujuan membuat diagnosis medis pasien. Aplikasi ini juga mendukung penelitian medis dengan menyediakan informasi baru, misalnya tentang struktur otak, atau tentang kualitas perawatan medis.

· Dalam bidang industri dikenal sebagai visi mesin, di mana informasi yang diekstraksi untuk tujuan mendukung proses manufaktur. Salah satu contohnya adalah pengendalian kualitas di mana detail atau produk akhir diperiksa secara otomatis untuk menemukan cacat.

· Dalam bidang militer digunakan untuk deteksi musuh tentara atau kendaraan dan rudal. Lebih maju lagi, sistem mengirimkan rudal-rudal ke wilayah bukan target spesifik, dan target seleksi dibuat ketika rudal mencapai daerah didasarkan pada data gambar yang diperoleh secara lokal.

u Speech recognition

Speech recognition atau yang dikenal juga sebagai pengenalan suara otomatis bekerja dengan mengkonversi kata yang diucapkan dengan teks. Pengenalan suara adalah sebuah sistem yang dilatih untuk pengguna tertentu sehingga seseorang dapat mengakui ucapan mereka berdasarkan suara vokal mereka yang unik.

Aplikasi speech recognition diantaranya :

  • “Call home”
  • “Call routing”

  • “domotic appliance control and content-based spoken audio search”
  • Entri data sederhana (misalnya memasukkan nomor kartu kredit)
  • penyusunan dokumen terstruktur (misalnya sebuah laporan radiologi)
  • pidato-untuk-pengolahan teks (misalnya pengolah kata atau email)
  • dalam pesawat terbang cockpits ( biasanya disebut Direct Voice Input)

Contoh Penerapan Speech Recognition dalam medis :

Front-End SR adalah tempat penyedia perintah ke mesin pengenalan ucapan, kata-kata yang dikenali ditampilkan tepat setelah mereka berbicara.

Back-End SR adalah penyedia perintah ke sistem dikte digital, dan suara yang disalurkan melalui pidato mesin pengakuan dan rancangan dokumen yang dikenali disalurkan bersama-sama dengan suara asli file.

· Speech synthesis

Speech synthesis merupakan sebuah sistem komputer yang digunakan untuk tujuan pidato synthesizer, dan dapat diimplementasikan dalam perangkat lunak atau perangkat keras.

Sistem bahasa A text-to-speech (TTS) normal mengkonversi teks ke dalam pidato. Synthesized speech dapat dibuat dengan potongan-potongan concatenating pidato yang direkam dan disimpan dalam database. Kualitas Synthesized speech dinilai melalui kesamaan dengan suara manusia. Program text-to-speech memungkinkan orang-orang dengan gangguan visual atau cacat dalam membaca untuk mendengarkan karya-karya tulis.

Ref :

http://en.wikipedia.org/wiki/Head_Up_Display

http://en.wikipedia.org/wiki/Tangible_User_Interface

http://en.wikipedia.org/wiki/Computer_vision

http://en.wikipedia.org/wiki/Speech_recognition

http://en.wikipedia.org/wiki/Speech_synthesis

Proses komunitas java (Java Community Process JCP)

Java Community Process (JCP) Program Management Office (PMO) sangat tertarik untuk mengumumkan upgrade ke jcp.org baru-baru ini meluncurkan situs web. Setelah web rumah masyarakat benar-benar dirombak dan dirilis pada bulan Juni 2009, bekerja terus di belakang layar untuk menambah, meningkatkan, dan memperbaiki fungsi dan kegunaannya. Anggota PMO berfungsi sebagai tim proyek untuk mendefinisikan dan menyelesaikan pekerjaan.

Program yang JCP komunitas pengguna telah membantu dalam memberikan umpan balik pada situs web. Banyak fitur baru dan perbaikan bug pada awalnya diusulkan atau diidentifikasi oleh pengguna. Beberapa implementasi tersebut akan segera jelas. Sebagai contoh, semua wiki dan papan sekarang mencakup satu cara bagi pengguna untuk memberikan pendapat mereka yang cepat konten dengan menghadiahi setiap item dengan nilai, dengan memilih jumlah bintang tertentu. Selain itu, semua papan diskusi publik dan wiki termasuk RSS tombol untuk memungkinkan pengguna untuk berlangganan pembaruan konten. Karena pengaturan keamanan dan persyaratan browser, RSS feed fitur ini hanya bekerja jika SSL diaktifkan. Misalnya, fitur RSS melakukan kerja dengan Firefox.
Berbagai bug telah diperbaiki dan navigasi juga telah diperbarui untuk mengatur informasi yang tersedia. Ini adalah langkah inkremental lain sepanjang perjalanan untuk meningkatkan jcp.org. Dalam bulan-bulan mendatang, sebagai masyarakat terus menyarankan perubahan dan perangkat tambahan, upaya akan terus memperbaiki situs. Semua umpan menyimpan program dan JCP jcp.org bergerak maju dan ke atas.

Virtual Machine

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.

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.

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.

sumber : http://www.total.or.id/