Web Browser

Sejarah Browser

Sejarah Web bermula di European Laboratory for Particle Physics (lebih dikenal dengan nama CERN), di kota Geneva dekat perbatasan Perancis dan Swiss. CERN merupakan suatu organisasi yang didirikan oleh 18 negara di Eropa. Dibulan Maret 1989, Tim Berners dan peneliti lainnya dari CERN mengusulkan suatu protokol sistem distribusi informasi di Internet yang memungkinkan para anggotanya yang tersebar di seluruh dunia saling membagi informasi dan bahkan untuk menampilkan informasi tersebut dalam bentuk grafik.

Web Browser pertama dibuat dengan berbasiskan pada teks. Untuk menyatakan suatu link, dibuat sebarisan nomor yang mirip dengan suatu menu. Pemakai mengetikkan suatu nomor untuk melakukan navigasi di dalam Web. Kebanyakan software tersebut dibuat untuk komputer-komputer yang menggunakan Sistem Operasi UNIX, dan belum banyak yang bisa dilakukan oleh pemakai komputer saat itu yang telah menggunakan Windows. Tetapi semua ini berubah setelah munculnya browser Mosaic dari NCSA (National Center for Supercomputing Applications).

Di bulan Mei 1993, Marc Andreesen dan beberapa murid dari NCSA membuat Web browser untuk sistem X-Windows yang berbasiskan grafik dan yang mudah untuk digunakan. Dalam beberapa bulan saja, Mosaic telah menarik perhatian baik dari pemakai lama maupun pemakai baru di Internet. Kemudian NCSA mengembangkan versi-versi Mosaic lainnya untuk komputer berbasis UNIX, NeXT, Windows dan Macintosh.

Di bulan Mei 1993, Marc Andreesen dan beberapa murid dari NCSA membuat Web browser untuk sistem X-Windows yang berbasiskan grafik dan yang mudah untuk digunakan. Dalam beberapa bulan saja, Mosaic telah menarik perhatian baik dari pemakai lama maupun pemakai baru di Internet. Kemudian NCSA mengembangkan versi-versi Mosaic lainnya untuk komputer berbasis UNIX, NeXT, Windows dan Macintosh.

Pada tahun 1994, Marc Andreesen meninggalkan NCSA, dan kemudian bersama Jim Clark, salah satu pendiri dari Silicon Graphics, membuat Netscape versi pertama. Kehadiran Netscape ini menggantikan kepopuleran Mosaic sebagai Web browser dan bahkan sampai saat ini Netscape merupakan browser yang banyak digunakan setelah Internet Explorer dari Microsoft.
Pada tahun yang sama CERN dan MIT mendirikan suatu konsorsium yang dinamakan World WIde Web Consortium (W3C) yang bertugas untuk membangun standar bagi teknologi Web.

Pada awal perkembangannya, sewaktu browser masih berbasiskan teks hanya terdapat sekitar 50 website. Di akhir tahun 1995 jumlah ini telah berkembang mencapai sekitar 300.000 web site. Dan diperkirakan sekarang ini jumalh pemakai Web telah mencapat sekitar 30-an juta pemakai diseluruh dunia.

Bagian bagian di web browser

Bagan Browser Request Generation

Bagan Browser Response Processing

Web Kit

WebKit adalah sebuah Mesin Layout yang didesain agar penjelajah web dapat merender halaman web. Mesin webkit menyediakan sekumpulan kelas untuk menampilkan isi pada jendela, dan menerapkannya pada fitur penjelajah web, misalnya : mengikuti link ketika di-klik oleh pengguna, mengatur daftar kembali-maju, dan rekaman halaman yang baru saja dikunjungi.

Kelebihan dan Kekurangan Flock, Safari dan Internet Explorer

FLOCK

Kekurangan :

  1. Tidak dapat mendeteksi web-web yang terjangkit virus
  2. Kurang user friendly
  3. Flock membutuhkan resources yang lebih besar.  Di beberapa komputer, memulai Flock untuk pertama kalinya akan memakan waktu lumayan lama
  4. Skin Flock pada saat ini masih terbatas

Kelebihan :

  1. Open source
  2. Upload foto ke layanan situs sosial seperti Flickr, Facebook, Twitter, My Space menggunakan menu photo uploader.
  3. Update status Facebook langsung tanpa membuka website (tentunya harus sudah login), dan juga mengetahui update status teman melalui People Sidebar. Juga bisa terintegrasi dengan Flickr, Twitter, Youtube, MySapce dan Digg
  4. Posting artikel blog langsung tanpa masuk dashboard melalui menu Blog Editor. Terintegerasi dengan Blogger, Blogsome, LiveJournal, Typepad, wordpress, Xanga dan juga akun blog pribadi anda
  5. People Sidebar, sidebar yang satu ini merupakan media yang memudahkan kita untuk mengakses empat web site keren, yaitu Facebook, Flickr, Twitter, dan YouTube.
  6. Media Bar, Bar yang bakal muncul di atas halaman yang sedang kita navigasi ini bakal menunjukkan karya-karya keren dari user Flickr dengan aspek rasio 1:1. Walaupun agak menghalangi pandangan kita dalam bernavigasi, jika kita buka bar ini tentunya, foto-foto indah yang terpampang di sana akan membuat kita tersenyum dan melanjutkan browsing dengan menggeser-geser ke kanan foto-foto keren tersebut..
  7. Accounts and Services Sidebar, sidebar ini bakal ngebantu kita buat login ke beberapa website pilihan Flock, sehingga mempermudah akses kita. Sayangnya, sebaiknya tidak digunakan di shared computer.
  8. Web Clipboard, Drag and drop teks, link atau gambar ke sidebar ini, dan kau akan mendapatkannya menempel di Clipboard. Clipboard ini membantu kita mendapatkan hal-hal tersebut tanpa menyimpannya secara permanen sebagai file di harddisk.
  9. Blog Editor dan Photo Uploader, kedua fitur ini sangat memudahkan kita untuk menulis blog dan mengupload foto secara langsung tanpa harus membuka web site yang dituju terlebih dahulu. Syaratnya, web site yang dituju ada dalam Accounts and Services Sidebar.
  10. Upload foto ke layanan situs sosial seperti Flickr, Facebook, Twitter, My Space menggunakan menu photo uploader.

SAFARI

Kelebihan

    1.  Fitur terbaru yang menarik adalah penerapan Nitro Engine. Dengan aplikasi ini browser bisa mengolah aplikasi-aplikasi web dengan lebih cepat karena Nitro Engine dapat mengeksekusi java script delapan kali lebih cepat dibanding dengan browser lainnya.
    2.  Safari dilengkapi juga dengan Cover Flow yang membuat tampilan bookmark dan history browser lebih nyaman.
    3. Safari juga mendukung format modern web berbasis html 5 yang dapat mengumpulkan web-web favorit yang sering dibuka oleh pengguna dalam bentuk thumbnail, mirip dengan yang dimiliki oleh Opera

Kekurangan :

    1. Tampak aneh sebagai aplikasi Windows, jika anda pertama kali menggunakannya.
    2.  Tak ada fitur restore kalau Safari hang.
    3.  Adanya bug pada Safari telah diungkapkan pada bulan Mei lalu oleh peneliti keamanan, Nitesh Dhanjani. Bug pada Safari dapat berakibat attacker mampu untuk membuang desktop korban dengan eksekusi file executable (.exe), sebuah penyerangan yang dikenal dengan nama Carpet Bombing .

Microsoft internet explorer (IE)

 

Kelebihan:

    1. Menyediakan add ons, walaupun tidak sebanyak Firefox
    2. Khusus IE8, tampilannya lebih elegan dan menarik
    3.  Bagi pengguna Windows Live maka akan di manjakan dengan tab bookmark yang terhubung ke fitur-fitur milik Windows Live

Kekurangan:

    1. Gagal membaca script dibeberapa halaman situs (khususnya CSS)
    2. Berat saat awal start dan saat membuka tab baru

Fungsi Web Browser

Berikut adalah fungsi fungsi pada web browser :

a. Caching

Bertujuan untuk mereduksi penggunaan bandwidth, mengurangi kesibukan web server, mencegah terjadinya lag. Dengan cara menyimpan data dan instruksi yang sering digunakan/diakses.

b. Authentication

Authentication adalah suatu proses untuk melakukan validasi terhadap identitas user, yang ditujukan untuk menentukan apakah seorang user diperkenankan untuk mengakses jaringan. Contoh authentication yang paling sering ditemui adalah saat kita diharuskan untuk memasukkan username dan password.

c. State Maintenance

Sebuah mekanisme untuk memastikan bahwa web browser tetap stabil baik untuk merequest ataupun untuk merespon.

d. Requesting supporting data item

Mekanisme yang dilakukan untuk meminta item yang mendukung data yang diminta oleh user. Contoh: flash player plugin.

e. Taking action in responses to other header & status code

Setiap kali mengunjungi suatu halaman web, komputer akan meminta data dari server melalui HTTP. Bahkan sebelum halaman yang diminta akan ditampilkan dalam browser, web server akan mengirimkan header HTTP yang memiliki kode status. Kode status inilah yang menyediakan informasi tentang status permintaan.

f. Rendering complex object

Proses menangkap segala sesuatu yang ada di dalam halaman web serta efek-efek yang terdapat didalamnya. Sehingga halaman yang ditampilkan sesempurna mungkin.

g.       Dealing with error condition

Handling atau penanganan error yang terjadi.

Most Common Directive & Directive Control

Most Common Directive

Directive

Parameters

Deskripsi

Syntax

include file, direct atau virtual Perintah SSI yang paling sering digunakan,perintah ini memungkinkan konten dari file lain dapat digunakan di file lainya. <!–#include virtual=”header.html” –>
exec cgi or cmd Perintah ini digunakan untuk mengeksekusi program atau script di server. Jika yang dieksekusi sebuah file cmd, maka parameternya berupa perintah server side.Dan jika parameternya berupa cgi, parameternya berupa path ke script cgi tersebut. <!–#exec cgi=”/cgi-bin/foo.cgi” –><!–#exec cmd=”ls -l” –>
echo var Perintah ini digunakan untuk menampilkan konten dari lingkungan variable tertentu. Contohnya HTTP_USER_AGENT, LAST_MODIFIED, and HTTP_ACCEPT. <!–#echo var=”REMOTE_ADDR” –>
config timefmt, sizefmt, or errmsg Perintah ini digunakan untuk mengkonfigurasi format tampilan dari waktu,tanggal, ukuran file, dan pesan error. <!–#config timefmt=”%y %m %d” –><!–#config sizefmt=”bytes” –>

<!–#config errmsg=”SSI command failed!” –>

flastmod or fsize file or virtual Perintah ini digunakan untu menampilkan kapan sebuah file terakhir di ubah/modifikasi. <!–#flastmod virtual=”index.html” –><!–#fsize file=”script.pl” –>
printenv Perintah untuk meng’outputkan <!–#printenv –>

Directive Control

Directive

Parameters

Description

Example

if expr Digunakan jika untuk menyelesaikan logika. <!–#if expr=”${Sec_Nav}” –>
<!–#include virtual=”” –>
<!–#endif –>
elif expr Untuk melengkapi “if” jika ada kondisi lainya. <!–#if expr=”${Sec_Nav}” –>
<!–#include virtual=”secondary_nav.txt” –>
<!–#elif expr=”${Pri_Nav}” –>
<!–#include virtual=”primary_nav.txt” –>
<!–#endif –>
else Jika tidak ada kondisi yang tepat untuk “if” dan “elif” maka ini adalah opsi terakhir. <!–#if expr=”${Sec_Nav}” –>
<!–#include virtual=”secondary_nav.txt” –>
<!–#else –>
<!–#include virtual=”article.txt” –>
endif Akhir dari logika if <!–#endif –>
set var, value Men’set nilai dari variable SSI <!–#set var=”foo” value=”bar” –>

XML JAVASCRIPT & AJAX

XML

XML (eXtended Markup Language) adalah bahasa markup yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti yang digunakan untuk menyimpan data (tidak ada program) dan tidak tergantung dengan tools tertentu (seperti editor, dbms, compiler, dsb). XML merupakan kelanjutan dari HTML (HyperText Markup Language) yang merupakan bahasa standar untuk melacak Internet. Kata kunci utama XML adalah data (jamak dari datum) yang jika diolah bisa memberikan informasi.

XML memiliki tiga tipe file
* XML, merupakan standar format dari struktur berkas (file).
* XSL, merupakan standar untuk memodifikasi data yang diimpor atau diekspor.
* XSD, merupakan standar yang mendefinisikan struktur database dalam XML.
Perbedaan antara XML dan HTML
XML bukan merupakan pengganti HTML.
XML dan HTML yang dirancang dengan tujuan yang berbeda:
XML dirancang untuk transportasi dan menyimpan data, dengan fokus pada apa data.
HTML dirancang untuk menampilkan data, dengan fokus pada bagaimana data terlihat.

Keuntungan XML

– Ekstensibilitas : dapat ditukar/digabung dengan dokumen XML lain
– Memungkinkan pemrograman yang lebih baik: maka dibuat suatu software pengolah XML
– Memisahkan data dan presentasi. Yang akan direpresentasikan dalam XML dan XSLT
– Pencarian data cepat karena XML merupakan data dalam format yang terstruktur
– Plain Text dan platform independent
– Untuk pertukaran data

Keunggulan XML

* Pintar (Intelligence). XML dapat menangani berbagai tingkat (level) kompleksitas.
* Dapat beradaptasi. Dapat mengadaptasi untuk membuat bahasa sendiri. Seperti Microsoft membuaat bahasa MSXML atau Macromedia mengembangkan MXML.
* Mudah pemeliharaannya.
* Sederhana. XML lebih sederhana.
* Mudah dipindah-pindahkan (Portability). XML mempunyai kemudahan perpindahan (portabilitas) yang lebih bagus.

Javascript

JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan disisi klien. Jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan di browser. Kalau dilihat dari suku katanya terdiri dari dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek, sedangkan Script adalah serangkaian instruksi program.

Secara fungsional, Javascript digunakan untuk menyediakan akses script pada objek yang dibenamkan ( embedded ). Contoh sederhana dari penggunaan javascript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah image kursor ketika melewati objek tertentu, dan lain lain.

Javascript bekerja pada sisi browser. maksudnya adalah untuk menampilkan halaman web, user menuliskan alamat web di address bar url. setelah itu, browser “mengambil” file html ( dengan file javascript yang melekat padanya jika memang ada ) ke server yang beralamat di URL yang diketikan oleh user. Selesai file diambil, file ditampilkan pada browser. Setelah file javascript berada pada browser, barulah script javascript tersebut bekerja.

Efek dari Javascript yang bekerja pada sisi browser ini, Javascript dapat merespon perintah user dengan cepat, dan membuat halaman web menjadi lebih responsif. JavaScript melakukan apa yang tidak bisa dilakukan oleh HTML, PHP, dan CSS : menangani hal – hal yang membutuhkan respons cepat terhadap aksi dari user. Contoh : fungsi validasi pada form. ketika anda mengisi sebuah form yang divalidasi menggunakan javascript, anda mengetikkan data lalu mengetik submit, sebelum data dikirimkan ke server, data akan “dicek” terlebih dahulu pada browser menggunakan fungsi javascript yang ada pada halaman web. sehingga, jika memang data yang anda isikan tidak valid, daripada membuang – buang waktu dengan mengirimkan data ke server baru di validasi di server dan lalu server mengirimkan respons balik mengenai ketidak validan input data anda, lebih baik cek validasi data form dilakukan secara lokal di browser menggunakan fungsi javascript.

Ajax

AJAX (Asynchronous Javascript and XML) adalah suatu teknik pemrograman berbasis web untuk menciptakan suatu web yang lebih interaktif dan responsif. Responsivitas dan interaktifitas halaman web diperoleh dengan melakukan pertukaran data server secara “balik layar”, sehingga halaman web tidak perlu reload setiap kali user melakukan aksi. AJAX merupakan kombinasi antara HTML, CSS, XML, Javascript, dan Server side scripting.

Manfaat AJAX adalah menghemat penggunaan bandwidth, load halaman lebih cepat, aplikasinya hampir sama seperti aplikasi dekstop. Keunggulan AJAX adalah tanpa reload halaman, karena pertukaran data berada di belakang layar, kemudian kecepatan transfer data antara client ke server lebih ringan karena hanya data saja yang diperlukan. Rata-rata AJAX diaplikasikan dalam website untuk validasi data secara real time, auto complete, kontrol user interface and effect, dan reload data.

Servlet, JSP, dan Web Browser

SERVLET

Servlet adalah teknologi Java untuk aplikasi web berupa class yang digunakan untuk menerima request dan memberi respon melalui protokol http (html, xml, file dan sebagainya). Pada dasarnya Servlet merupakan file java class yang telah dikompilasi dan dijalankan oleh servlet container atau application server. Istilah application server digunakan apabila software server dapat menjalankan servlet, JSP serta teknologi J2EE utama seperti EJB (Enterprise Java Bean). Contoh Application Servlet adalah BEA Web Logic, IBM Websphere, Jboss, dsb. Servlet container biasanya juga merupakan JSP container, seperti Apache Tomcat, Macromedia Jrun, Resin.

Kelebihan servlet:

  1. Performance Servlet baik karena tidak ada proses pembuatan berulang untuk tiap request dari client. Jadi tiap request ditangani oleh proses servlet container (apache tomcat), di mana servlet tidak dibuat dan dihapus berulang-ulang tetapi tetap tersimpan pada memori untuk menangani request selanjutnya.
  2. Servlet memiliki kemampuan yang lengkap, antara lain penanganan request ke request, penanganan cookie dan session, akses database dengan JDBC, caching serta library yang lengkap untuk pembuatan aplikasi web.
  3. Servlet memiliki fasilitas security yang baik dan merupakan bagian dari teknologi Java yang sudah dari asalnya didesain dengan security yang baik.
  4. Teknologi Java Servlet portabel karena dapat dijalankan di berbagai servlet container, application server, maupun sistem operasi.
  5. Proses development yang lebih cepat. Dengan menggunakan Servlet kita dapat menggunakan library java yang lengkap maupun menggunakan komponen yang sudah ada.
  6. Karena servlet merupakan teknologi java yang memiliki penanganan memori yang baik serta memiliki garbage collection sehingga aplikasi web menjadi aplikasi yang tangguh dan stabil.
  7. Murah karena Java gratis untuk didownload, Servlet container juga banyak yang gratis.

Proses Kerja Servlet

  1. Servlet diload ke JVM oleh Servlet container apabila terjadi request pertama kali oleh client.
  2. Proses penanganan request dijalankan sebagai thread dari web server atau servlet container. Setelah diload maka servlet tetap ada di memori untuk menangani request berikutnya.
  3. Tiap kali menangani request, servlet container membandingkan timestamp dari servlet dalam memori dengan file class java servlet. Apabila timestamp file java servlet ada yang lebih baru maka secara otomatis servlet container akan meload servlet yang baru dari class servlet.

JSP (Java Server Pages)

Adalah bahasa scripting untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa gabungan antara baris html dan fungsi-fungsi dari JSP itu sendiri. Berbeda dengan Servlet yang harus dikompilasi oleh user menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh user tapi server yang akan melakukan tugas tersebut.Teknologi JSP menyediakan cara yang lebih mudah dan cepat dalam membuat halaman-halaman web yang menampilkan isi secara dinamik dan bekerja dengan berbagai macam web server, application server, browser dan development tool.

JSP memungkinkan kita menggabungkan static HTML dengan dynamic content yang dihasilkan dari Servlet. JSP juga merupakan bagian dari teknologi J2EE (Java 2 Enterprise Edition).J2EE merupakan platform Java untuk pengembangan aplikasi enterprise dengan dukungan API (Application Program Interface) yang lengkap dan portabilitas serta memberikan sarana untuk membuat aplikasi multi tier yang memisahkan antara Presentation layer, Application layer dan Data Layer.

JSP pada dasarnya juga hala man HTML dengan tambahan tag-tag JSP yang berupa Java Code. File JSP mempunyai extension .jsp bukan .htm atau html. JSP engine (Java virtual mechine) melakukan proses parsing pada file .jsp selanjutnya men-generate Java servlet source file. Kemudian mengkompilasi source file ini menjadi class file, hal ini dilakukan pada saat pertama kali file .jsp dijalankan. Hal ini yang membuat lebih lambat ketika .jsp file pertama kali diakses, selanjutnya setelah servlet source file terkompile semuanya berjalan lebih cepat.

WEB BROWSER
Web browser, adalah sebuah aplikasi perangkat lunak yang digunakan untuk mengaktifkan komputer pengguna untuk mencari dan mengakses halaman web atau dapat diartikan juga software aplikasi yang berfungsi untuk menampilkan, mengambil dan menginformasikan sumber-sumber yang berasal dari World Wide Web (www).

Browser menerjemahkan HTML dasar (Hypertext Mark Up Language) kode yang memungkinkan kita untuk melihat gambar, video teks dan mendengarkan audio pada situs, bersama dengan hyperlink yang memungkinkan kita bepergian ke halaman web yang berbeda. Browser akan di kontak dengan web server dan permintaan informasi. Web server menerima informasi dan menampilkannya pada komputer.

Ada beberapa jenis browser, tapi satu hal mereka memiliki kesamaan adalah bahwa mereka melaksanakan fungsi yang sama, mereka mentransfer hypertext. Setiap browser memiliki toolbar yang memungkinkan kita untuk melakukan berbagai fungsi seperti:

1. Kembali ke halaman pertama kita mulai di internet yang disebut Home.
2. Buku situs web favorit kita
3. Cetak konten yang dianggap menarik pada halaman web
4. Periksa riwayat Web, seperti mengunjungi situs web kita di masa lalu
5. Kita dapat maju dan mundur untuk melihat situs yang sebelumnya kita lihat.

Halaman web dapat terlihat berbeda dalam berbagai jenis browser. Itu selalu penting untuk men-download versi terbaru dari browser kita. Hari ini sebagian besar web halaman dirancang untuk dilihat di browser diperbarui. Dengan menjaga dengan versi paling up-to-date browser web kita, kita akan dapat mendapatkan yang terbaik dari web untuk semua yang anda butuhkan.

 

Web services

1. Web Service Business Execution Language

Execution language yang dimaksud adalah Business Process Excecution Language (BPEL) merupakan sebuah bahasa yang berbasis pada workflow yang menggabungkan service yang berperan dalam suatu interaksi yang dapat berupa orkestrasi dan koreografi service.
– Orkestrasi adalah proses terpusat yang mengatur semua web service yang terlibat.
– Koreografi adalah proses tidak dijalankan secara terpusat, sehingga web service yang terlibat mengetahui kapan harus mengeksekusi operasi. BPEL menggunakan XML untuk mendefinisikan komposisi fungsi-fungsi web service yang nantinya akan dieksekusi. Bahasa eksekusi proses bisnis untuk web services menyediakan sarana untuk secara resmi menentukan proses bisnis dan protokol interaksi. BPEL digunakan untuk model perilaku baik executable dan proses abstrak yang ruang lingkupnya meliputi:
– Urutan kegiatan proses
– Interaksi layanan utama web
– Pemulihan perilaku dalam kasus kegagalan dan kondisi luar biasa
– Layanan hubungan bilateral berbasis web antara peran proses


2. Web Service Coordination

Semakin rumit aktivitasnya maka akan semakin banyak informasi konteks yang harus dijaga.
Kerumitan aktivitas dapat dipengaruhi oleh beberapa faktor yaitu:
1. Jumlah services yang berperan dalam aktifitas.
2. Lamanya suatu aktifitas.
3. Frekuensi perubahan suatu aktifitas.
4. Banyaknya jumlah instances dari aktifitas yang berjalan secara kongkuren.

Suatu mekanisme diperlukan untuk mengatur informasi konteks dalam aktivitas yang rumit dan WS-Coordination membentuk suatu service umum yang akan menjadi suatu coordinator. Service Coordinator ini akan mengendalikan komposisi dari service lain yang memiliki peran tertentu dalam manajemen context data. Beberapa service tersebut antara lain :
1. Activation service, bertanggung jawab dalam pembuatan konteks yang baru dan menghubungkan konteks ini dengan aktivitas yang sesuai.
2. Registration service, memungkinkan service yang berpartisipasi dalam aktivitas untuk menggunakan informasi konteks yang diterima dari activation service dengan mendaftarkan service tersebut
3. Protocol-spesicific service, mempresentasikan protocol yang didukung oleh coordinator.

Setiap coordinator memiliki suatu tipe koordinasi yang menspesifikasikan suatu kebiasaan dan logika dari aktivitas yang diatur oleh informasi konteks. Tipe koordinasi ini merupakan spesifikasi yang terpisah dan dapat ditambahkan pada WS-Coordination. Dua tipe koordinasi yang secara umum dipakai adalah WS-Atomic Transaction dan WS-BussinesActivity.
Tipe koordinasi ini merupakan sekumpulan protocol yang berisi aturan yang harus diikuti oleh partisipan yang terdaftar dalam suatu aktifitas.
Contoh data yang ada dalam konteks antara lain identitas unik dari aktivitas, nilai expiration dan informasi dari coordination type. Suatu coordination type dimulai ketika application service menghasilkan data konteks yang baru.
Application service dapat mengindikasikan bahwa coordination telah selesai dengan mengirimkan pesan completion kepada coordination service. Selanjutnya coordination mengirimkan pesan completion kepada semua partisipan dan setiap partisipan membalasnya dengan pesan completion acknowledgement.

3. Web Service Transaction

Transaksi merupakan suatu proses untuk mencapai solusi dari automatic system komputation. Merupakan spesifikasi yang menangani permasalahan dalam tipe koordinasi. Secara umum ada dua tipe transaksi yaitu Atomatic Transaction dan Log Running Transaction. Untuk masing – masing jenis ini terdapat spesifikasi khusus yang menanganinya yaitu WS-Atomic Transaction dan WS-Bussines Activity. Kedua spesifikasi tersebut merupakan perluasan dari spesifikasi dari spesifikasi WS-Transaction

Protokol yang dimiliki oleh WS-Transaction secara umum dapat disamakan dengan fitur transaksi ACID secara umum sebagai berikut :
1. Atomic
Memastikan apakah semua perubahan dari transaksi berjalan dengan sukses atau tidak satu pun yang sukses.karakter ini menjalankan transaksi mekanisme rollback untuk mengembalikan semua perubahan yang merupakan akibat dari transaksi yang gagal menjaga kondisi aslinya.
2. Consisten
Memastikan tidak ada perubahan data sebagai akibat dari transaksi yang dapat melanggar validitas dari model data yang digunakan.
3. Isolated
Jika ada transaksi yang berjalan secara konkuren,maka tidak boleh ada gangguan sama sekali.Tiap transaksi harus menjamin lingkungan eksekusi yang terisolasi.
4. Durable
Selama akhir dari transaksi sukses perubahan yang dibuat sebagai hasil transaksi dapat bertahan dari kegiatan yang selanjutnya.
Untuk berpartisipasi dalam transaksi,service pertama kali menerima coordination context dari activation service. Selanjutnya service mendaftarkan pada protocol transaksi yang disediakan,antara lain :
• Completion protocol = untuk menginisiasi status commit atau abort dari transaksi.
• Durable 2PC protocol = untuk service yang merepresentasikan tempat penyimpanan permanen yang harus didaftarkan.
• Volatile 2PC protocol = untuk service menggunakan data temporer.

4. Web Atomic Transaction

Transakasi atomic menerapkan suatu fitur commit dan rollback untuk mendukung transaksi yang cross-service.
Ketika WS-Atomic Transaksion digunakan.coordinator akan beralih peran menjadi atomic transaction coordinator.koordinator ini berperan mengatur partisipan dari transaksi dan memutuskan keluaran final dari transaksi dimana coordinator menggunakan feedback yang diterima dari semua partisipan transaksi. Feedback dikumpulkan dalam dua fase yaitu:
– Fase Prepare
Semua partisipan di notifikasi oleh coordinator dan tiap partisipan diminta untuk bersiap dan mengeluarkan vote.tiap vote mengandung antara permintaan dengan commit ataupun abort lalu vote dikumpulkan dan coordinator memasuki fase commit.

– Fase Commit
Disini dilakukan review terhadap semua vote dan memutuskan apakah transaksi akan commit atau rollback, jika commit maka coordinator memutuskan bahwa transaksi sukses.Tetapi jika satu vote saja adalah abort atau partisipan ada yang tidak memberikan respon, maka transaksi dinyatakan gagal dan dilakukan rollback.

5. Web Service Business Activity

Spesifikasi ini mengatur aktivitas yang sifatnya log-running. Selama durasi menunggu dalam jam, harian, atau bahkan mingguan, aktivias dapat menjalankan beberapa proses yang melibatkan banyak partisipan. Factor yang membedakan antara business activity dengan aktivitas kompleks yang biasa adalah bahwa partisipannya diharapkan untuk mengikuti aturan yang didefinisikan oleh protocol. Business activity juga dapat dibedakan dengan atomic transaction dalam hal penanganannya terhadap exeption dan constrants yang didefinisikan dalam aturan protocol.

Secara umum, protocol dalam business activity tidak menawarkan kemampuan rollback. Akan tetapi untuk tetap menjaga semantic ACID, maka tersedia proses compensation yang akan menjalankan suatu proses lain jika terjadi exeption.

Dua macam protocol WS-Business Activity :
1. Business Agreement With Participant Completion protocol
2. Business Agreement With Coordimation Completion protocol

Selama lifecycle dari aktivitas bisnis, coordinator dan partisipan akan melalui transisi dalam beberapa state. Waktu dilakukannya transaksi diketahui melalui suatu pesan notifikasi yang dikirimkan antara sevice yang berperan. Contoh partisipan dapat mengindikasikan telah menyelesaikan prosesnya dengan mengirimkan completed.

Partisipan dapat juga masuk dalam compensation state jika diperlukan service yang berkaitan, akan tetapi lebih kepada eksekusi suatu proses lain jika proses normal gagal. Hal yang membedakan antara business activities dari atomic transaction adalah fakta bahwa service yang berpartisipasi tidak dibutuhkan untuk menjadi partisipan selama durasi dari aktivitas. Penggunaan business activity tidak dipisahkan dari penggunaan atomic transaction.

6. Delivery Dynamic Content

Pengiriman konten dinamis adalah mekanisme utama untuk distribusi berbagai konten seperti patch perangkat lunak dan aplikasi. Distribusi konten user dapat disesuaikan dengan menggunakan daftar playlist dan advertisement. Proxy digunakan untuk menghemat bandwith, mengurangi network imposed latency dan mengurangi beban pada server asalnya windows media.

Disini web aplication bertindak sebagai titik distribusi yang akan mengirim dan meminta file. Pada tahap pertama file tersebut dipublikasikan, pada tahap kedua user akan mengunduh file pada web aplication kemudian meminta file tersebut ke database origin server dan akan dikirimkan kembali sampai proses unduh selesai. Jika file tersebut gagal di unduh proses distribusi file akan dihentikan dan ditarik kembali oleh database server maka dari itu dibutuhkan sinyal jaringan yang stabil.
– CGI (Common Gateway Interface)
Sekumpulan aturan yang mengarahkan bagaimana sebuah server web berkomunikasi dengan sebagian software dalam mesin yang sama dan sebaliknya. Setiap software dapat menjadi sebuah program CGI yang dapat menangani input/ output berdasarkan standar CGI.
– SSI (Server Side Includes)
Suatu metode dimana halaman-halaman web dapat memasukkan potongan informasi yang secara tidak langsung disimpan dalam file. Sebagai bahasa pemrograman yang sederhana, SSI hanya mendukung satu jenis teks. penggunaan bahasnya yang sederhana memudahkan untuk dipelajari.

7. Virtual Hosting

Adalah sebuah server yang sama secara fisikal melayani beberapa situs web. Dengan virtual hosting klien tidak diharuskan menyewa server sendiri yang mahal biayanya untuk menempatkan data online mereka dan setiap klien akan mendapat jatah space dalam jumlah tertentu pada 1 akun hosting. Metode ini banyak dipakai oleh situs kecil hingga menengah dengan trafic yang tidak terlalu sibuk, contohnya blogspot, wordpress.com dan lainnya.


8. Address Mapping

Menerjemahkan alamat network dari satu format ke format lainnya, metodelogi ini memungkinkan protokol-protokol yang berbeda beroperasi dan bisa saling bertukar.

9. Authentication

Suatu proses untuk melakukan validasi terhadap user credentials, yang ditujukan untuk menentukan apakah seorang user diperkenankan untuk mengakses jaringan atau computing resources. Bila authentication berhasil, maka akan terjalin hubungan trust antara pemberi layanan dan pengguna layanan. Bukti identitas lain yang bisa diterima adalah sesuatu yang unik, hanya dimiliki oleh satu orang saja di seluruh dunia. Logikanya adalah bila ada orang yang membawa barang yang hanya mungkin dimiliki seseorang, maka saya akan yakin bahwa dia adalah benar-benar pemiliknya
Metode authentication yang berbasis pada kerahasiaan informasi adalah:
• Password/PIN : Hanya pemiliknya yang tahu password/pin.
• Digital Certificate : Berbasis pada asymmetric cryptography yang
mengandung informasi rahasia yaitu private key.
• Private Key : Hanya pemiliknya yang tahu private key, orang lain
hanya tahu public key.

Sedangkan metode authentication yang berbasis pada keunikan adalah:
• Retina :Tidak mungkin ada 2 orang yang pola retinanya sama.
• Fingerprint :Tidak mungkin ada 2 orang yang sidik jarinya sama.
• Paspor :Hanya pemiliknya yang bisa menunjukkan foto di paspor sesuai dengan
wajahnya.
• Tandatangan:Hanya pemiliknya yang bisa menuliskan tandatangan dengan sempurna.
Setelah terjalin hubungan trust, selanjutnya layanan apa yang bisa dinikmati pengguna tergantung dari proses authorization.

Standard vs Dynamic Web Architecture

  • Standard Web Architecture

Pada standard web architecture terdapat Web server yang berfungsi untuk menerima permintaan (request) dan mengirimkan perimntaan (response) melalui HTTP atau HTTPS dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML.

  • Dynamic Web Architecture

Beda halnya  dengan Standard Web Architecture, selain terdapat web server di dalam arsitektur terdapat suatu gateway yang bernama Server Side Scripting  yang merupakan sebuah teknologi scripting atau pemrograman web dimana script (program) dikompilasi atau diterjemahkan di server. Dengan adanya teknologi ini, memungkinkan untuk mengahasilakn halaman web yang dinamis.

Task 1 (TCP/IP)

 

Sifat-sifat TCP

1. Connection-oriented      

TCP memelihara informasi status tentang pembuatan koneksi.  koneksi TCP diidentifikasi oleh alamat IP dan nomor port virtual yang digunakan oleh kedua ujungnya. Selama komunikasi, nomor tambahan digunakan untuk melacak urutan atau urutan di mana segmen data yang ditransmisikan. Nomor urutan menunjukkan apa urutan segmen data harus dipasang kembali.ukuran transmisi maksimum yang terus-menerus dinegosiasikan melalui mekanisme fallback disebut windowing. Kombinasi dari nomor port, nomor urutan dan ukuran jendela merupakan koneksi.

Sebagai contoh,ketika Anda menggunakan browser untuk membuka website itu artinya Anda sedang  membuka koneksi TCP dari browser ke website.Komputer Anda menggunakan alamat IP dan nomor port virtual yang untuk mengidentifikasi itu.Komputer Anda membuka koneksi ke server pada port 80) (port terkenal untuk HTTP , yang  disampaikan pada. protokol halaman web )

2. Reliable (handal)

TCP mampu memberikan jasa pengiriman yang dapat di andalkan.

3. Stream data transfer

TCP akan mengelompokkan byte-byte yang sebelumnya tidak terstruktur ke dalam bentuk segmen untuk kemudian dikirimkan ke IP. Layanan ini memberikan keuntungan bagi aplikasi-aplikasi karena mereka tidak perlu lagi membuat blok-blok data.

4. Efficient flow control

Ketika mengirim ulang acknowledgement ke alamat asal, proses TCP yang menerima mengindikasikan nomor urutan yang bisa diterimanya tanpa harus meng-over flow buffer internal miliknya.

5. Full-duplex operation

TCP bisa mengirim dan menerima dalam waktu yang bersamaan

6. Multiplexing

Teknik menggabungkan beberapa sinyal untuk dikirimkan secara bersamaan pada suatu kanal transmisi. Dimana perangkat yang melakukan Multiplexing disebut Multiplexer atau disebut juga dengan istilah Transceiver / Mux. Dan untuk di sisi penerima, gabungan sinyal – sinyal itu akan kembali di pisahkan sesuai dengan tujuan masing – masing. Proses ini disebut dengan Demultiplexing. Receiver atau perangkat yang melakukan Demultiplexing disebut dengan Demultiplexer atau disebut juga dengan istilah Demux.

Tujuan Muliplexing
meningkatkan efisiensi bandwidth transmisi dengan cara berbagi akses bersama.

Jenis Teknik Multiplexing
Teknik Multiplexing yang umum digunakan adalah :

  • Time Division Multiplexing (TDM) :  Synchronous TDM dan Asynchronous TDM
  • Frequency Division Multiplexing (FDM)
  • Code Division Multiplexing (CDM)

Sifat sifat IP

  • Connectionless

yakni setiap paket data yang dikirim pada suatu saat akan melalui rute secara independen. Paket IP (datagram) akan melalui rute yang ditentukan oleh setiap router yang dilalui oleh datagram tersebut. Hal ini memungkinkan keseluruhan datagram tiba di tempat tujuan dalam urutan yang berbeda karena menempuh rute yang berbeda pula.

  • Unreliable  (tidak handal)

Protokol IP tidak menjamin datagram yang dikirim pasti sampai ke tempat tujuan. Ia hanya akan melakukan best effort delivery yakni melakukan usaha sebaik-baiknya agar paket yang dikirim tersebut sampai ke tujuan.

Aplikasi Pada TCP/IP :

1)      TELNET

Telnet (Telecommunication network) merupakan sebuah protokol jaringan yang digunakan di koneksi Internet atau Local Area Network.TELNET dikembangkan pada 1969 dan distandarisasi sebagai IETF STD 8, salah satu standar Internet pertama.

Dalam bahasa yang mudah kita dapat memberikan perintah kepada komputer lain baik membuat file,mengedit,menghapus dan menjalankan suatu perintah hanya melalui komputer di depan meja kita.Telnet banyak di pakai dalam mesin berbasis UNIX dan sangat jarang aplikasi telnet pada mesin berbasis Windows NT/200

TELNET memiliki beberapa keterbatasan yang dianggap sebagai risiko keamanan.Telnet adalah aplikasi remote login Internet. Layanan remote login adalah layanan yang mengacu pada program atau protokol yang menyediakan fungsi yang memungkinkan seorang pengguna internet

Sebuah protokol jaringan yang digunkana di koneksi internet atau lan (Local Area Network). Telnet digunakan untuk konek ke sebuah server dan port tertentu, kita dapat mengirim perintah dari komputer kita dengan mengetikkan langsung, kitapun juga akan mendapat respon output dari server dalam sebuah jaringan. Dengan kata lain kita dapat berinteraksi langsung dengan server.

Cara Kerja Telnet

Untuk dapat mengakses telnet,biasanya (dan seharusnya) kita memiliki sebuah account atau login di komputer yang di tuju.Dan login tersebut disertai password (kata kunci) sebagai verivikasi atau sebagai legalisasi dari account yang kita masukkan,dan account tersebut di berikan oleh sang administrator atau lembaga yang memiliki server yang dapat di-TELNET.

2) ELECTRONIC MAIL:

Surat elektronik

Surat elektronik (disingkat ratel, ratron, surel, atau surat-e) atau surat digital atau pos elektronik (disingkat pos-el) atau nama umumnya dalam bahasa Inggris e-mail adalah sarana kirim mengirim surat melalui jalur jaringan komputer (misalnya Internet).

Dengan surat biasa umumnya pengirim perlu membayar per pengiriman (dengan membeli perangko), tetapi surat elektronik umumnya biaya yang dikeluarkan adalah biaya untuk membayar sambungan Internet. Tapi ada perkecualian misalnya surat elektronik ke telepon genggam, kadang pembayarannya ditagih per pengiriman.

Surat elektronik sudah mulai dipakai di tahun 1960-an. Pada saat itu Internet belum terbentuk, yang ada hanyalah kumpulan ‘mainframe’ yang terbentuk sebagai jaringan. Mulai tahun 1980-an, surat elektronik sudah bisa dinikmati oleh khalayak umum. Sekarang ini banyak perusahaan pos di berbagai negara menurun penghasilannya disebabkan masyarakat sudah tidak memakai jasa pos lagi.
Metode pengiriman
Untuk mengirim surat elektronik kita memerlukan suatu program mail-client. Surat elektronik yang kita kirim akan melalui beberapa poin sebelum sampai di tujuan. Untuk lebih jelasnya lihat diagram dibawah. Contoh yang dipakai adalah layanan SMTP dan POP3.

Saya menulis surel → e-mail client (di komputer saya) → SMTP server penyedia e-mail saya → Internet → POP3 server penyedia e-mail penerima → e-mail client (di komputer si penerima) → surat dibaca si penerima

Terlihat surat elektronik yang terkirim hanya melalui 5 poin (selain komputer pengirim dan penerima). Sebenarnya lebih dari itu sebab setelah surat elektronik meninggalkan POP3 Server maka itu akan melalui banyak server-server lainnya. Tidak tertutup kemungkinan surat elektronik yang kita kirim disadap orang lain. Maka dari itu bila surat elektronik yang kita kirim mengandung isi yang sensitif sebaiknya kita melakukan tindakan pencegahan, dengan mengacak (enkrip) data dalam surat elektronik tersebut (contohnya menggunakan PGP, sertifikat digital, dan lain-lain)

Surat elektronik pada mulanya disimpan di dalam sebuah mailserver. Biasanya bila seseorang memakai koneksi ISP untuk sambungan ke internet, ia akan diberikan satu surat elektronik gratis. Surat elektronik yang diterima akan disimpan di server surat elektronik ISP.

Ada dua cara untuk mengakses surat elektronik:

a)      Dengan cara menggunakan ‘browser’, seperti Internet Explorer atau Mozilla Firefox. Metode ini disebut sebagai web-based, artinya kita menggunakan media web sebagai perantara ke kotak surat elektronik. Contoh: Yahoo! Mail dan Gmail. Untuk menggunakannya, pengguna haruslah dalam keadaan online. Layanan surat elektronik berbasis web biasanya disediakan oleh penyelenggara layanan e-mail gratis.

b)      Menggunakan program pengakses surat elektronik (e-mail client), seperti: Eudora Mail, Outlook Express, Windows Mail, Mozilla Thunderbird, Mutt. Dengan menggunakan program seperti ini, seseorang harus mengetahui konfigurasi yang bisa didapat dari ISP. Keuntungannya adalah dapat membaca surat elektronik tanpa perlu terhubung secara terus-menerus dengan internet dan puluhan surat elektronik dapat diterima dan dikirimkan secara bersama-sama sekaligus. Kelebihan yang lainnya adalah perangkat lunak ini menyediakan fungsi-fungsi penyuntingan dan pembacaan e-mail secara offline. Dengan demikian biaya koneksi ke internet dapat dihemat.

Keamanan

Keamanan data di surat elektronik tidaklah terjamin dan selalu ada risiko terbuka untuk umum, dalam artian semua isinya dapat dibaca oleh orang lain. Hal ini disebabkan oleh karena surat elektronik itu akan melewati banyak server sebelum sampai di tujuan. Tidak tertutup kemungkinan ada orang yang menyadap surat elektronik yang dikirimkan tersebut.

Surat elektronik dapat diamankan dengan melakukan teknik pengacakan (enkripsi). Salah satu program enkripsi yang populer adalah PGP (Pretty Good Privacy). Dengan memakai PGP maka isi akan dienkrip, dan hanya orang yang tertuju dapat mendekripsi dan membaca surat elektronik tersebut. Kerugiannya adalah membuat repot pihak pengirim dan penerima (karena keduanya harus memiliki program PGP, dan pengirim juga harus memiliki kunci umum penerima, dan melakukan enkripsi pesan dengan kunci tersebut).

3.      MESSAGE FORUMS:

Forum adalah sebuah sarana komunikasi bagi penggunanya. Dimana didalam forum tersebut terbagi menjadi sub-sub dari forum itu, maksudnya didalam forum tersebut ada pembagian kategori yang dibuat untuk memudahkan penggunanya dalam berinteraksi. Contohnya : kaskus.

Message forum adalah pesan yang kita tulis untuk menanggapi topic yang ada. Message forum atau sering disebut dengan post, dapat dengan mudah dibuat dan bila terjadi kesalahan kita bisa mengeditnya kembali walaupun sudah di post(kirim)kan.

4.      LIVE MESSAGING:

Live messaging atau real time messaging adalah aktivitas berkirim pesan melalui perangkat satu ke perangkat lainya secara “live” atau langsung melalui jaringan internet. Aktivitas ini juga biasa disebut dengan chatting atau mengobrol melalui sebuah relay chat di internet. User dapat berkirim dan berbalas pesan secara langsung dan cepat dengan user lainnya bahkan melakukannya dengan banyk orang sekaligus.

5.      FILE SERVER:

File Server merupakan sebuah komputer yang terdapat dalam sebuah jaringan yang menjadi dasar utama dalam menyediakan akses untuk berbagi disk, seperti berbagi file (musik, video, dokumen, database,dll). Dengan adanya File Server, maka seluruh client di jaringan bisa memanfaatkan data – data yang ada File Server untuk digunakan.

Server file bertugas mengontrol komunikasi dan informasi di dalam suatu jaringan. Sebagai contoh mengelola pengiriman file database atau pengolah kata dari workstation atau salah satu node, ke node yang lain, atau menerima email pada saat yang bersamaan dengan tugas yang lain dan terlihat bahwa tugas file server sangat kompleks, dia juga harus menyimpan informasi dan membaginya secara cepat.

Task 2

 

HTTP Request
Http request berisi permintaann bermacam macam informasi data yang diinginkan user yang dikirim melalui client ke server. Didalam permintaan tersebut terdapat sebuah method yang dienkapsulasi untuk memberitahu server tentang permintaan yang dibuat dan bagaimana sisa pesan dari client diformat. Terdapat 2 protokol di dalam HTTP request, yaitu : Get dan Post

GET

Get adalah method paling sederhana di dalam HTTP. Method ini digunakan untuk meminta resource tertentu dari server, seperti laman web, file grafis, suara, dokumen dan lain lain. Method Get juga dapat digunakan untuk mengirim data ke server. Namun method ini memiliki batasan jumlah total karakter yang dienkapsulasi ke dalam method. Sehingga ketika client mengirimkan banyak data ke server tidak semua pesan data tersebut berhasil disampaikan.
Batasan lainnya adalah ketika anda mengirimkan data, maka data tersebut akan ditambahkan pada URL yang anda kirim ke server. Jadi data yang dikirimkan akan terlihat di address bar pada browser. Dan hal ini sangat riskan jika data yang dikirimkan berupa data sensitif seperti username dan password atau informasi penting lainnya, karena dapat dilihat oleh orang lain.
Namun dibalik kekurangan tersebut Get juga memiliki kelebihan. Yaitu user dapat mem-bookmark URL yang berisi permintaan Get atau data yang dikirimkan. Sehingga user dapat langsung mengakses halaman lebih cepat karena tanpa melalui proses yang sama setiap waktu (ex. login).

POST
Post adalah jenis method permintaan yang didesain untuk dapat membuat banyak permintaan kompleks dan dapat mengirim banyak data dari client ke server maupun dari server ke client. Proses pengiriman infomasi permintaan dari client terjadi seperti proses upload (pengunggahan) file ke server.
Perbedaan method get dan post terletak pada cara pengiriman data ke server. Seperti yang di tuliskan sebelumnya, Get hanya menambahkan data ke URL yang akan dikirim. Sedangkan Post mengekapsulasi dan menyembunyikannya di message body yang dikirim. Dan server dapat menentukan bahwa suatu permintaan adalah permintaan Post adalah dari body message data tersebut.

HTTP RESPONSE
HTTP merespon dari server yang berisi headers dan body pesan, seperti yang permintaan HTTP lakukan. Mereka menggunakan kumpulan header yang berbeda, meskipun demikian disini kita tidak perlu terlalu dalam membahasnya secara detail. Cukup dengan mengatakan bahwa headers berisi informasi tentang protokol HTTP yang digunakan pada server, sebagaimana tipe dari isi yang dienkapsulasi ke dalam body pesan. Nilai dari tipe isi adalah MIME-type. Ini akan memberitahu browser jika pesan berisi HTML, gambar, atau tipe lainnya.

Contoh Get & Post dalam 1 file..