12.1 ARCHITECTURE web-based system yang masih diorganisasikan dalam arsitektur client-server sederhana. web site terdiri dari sebuah process yang memiliki akses ke file system local yang menyimpan dokumen
Web Documents segala informasi berasal dari sebuah dokumen, tidak hanya mengenai dokumen teks tetapi lebih luas lagi dan mencakup konten dinamis seperti audio, video, animasi, dan lainnya
Markup Language : menyediakan fleksibilitas lebih dalam pendefinisian sebuah dokumen bagaimana harus ditampilkan Contoh yang sering digunakan adalah HTML dan XML HTML dan XML dapat include semua macam tag yang menunjuk pada sebuah embedded document
MIME type MIME singkatan dari Multipurpose Internet Mail Exchange dan sebagaimana namanya, dibangun untuk menyediakan informasi pada konten dari sebuah message body yang dikirim sebagai bagian dari surat elektronik MIME membedakan berbagai macam message content MIME membuat perbedaan antara top-level type dan subtype
Multitiered Architectures Satu dari pengembangan arsitektur dasar ini adalah support untuk interaksi user sederhana menggunakan Common Gateway Interface atau yang sering disebut sebagai CGI
CGI (1) server akan memulai program yang namanya tercantum dalam request dan pass nilai parameter yang dibutuhkan. Pada titik ini, program melakukan kerjanya dan mengembalikan hasil dalam bentuk dokumen yang dikirimkan ke browser pengguna untuk ditampilkan.
CGI (2) Dengan program CGI, fetching dokumen dapat didelegasikan sehingga server tidak mengetahui bahwa sebuah dokumen telah di-generate on the fly, atau dibaca dari local file system
Web Services beberapa client application dapat memanggil service sebagaimana yang disediakan oleh server application Universal Description, Discovery and Integration standard (UDDI) merupakan sebuah layout dari database berisi service descriptions. Service dideskripsikan menggunakan Web Services Definition Language (WSDL)
Web Services Composition and Coordination Ada paling tidak dua kelas masalah yang perlu dipecahkan. Yang pertama, bagaimana koordinasi antara web service, yang berasal dari organisasi yang berbeda, diadakan? Yang kedua, bagaimana service dapat digabungkan?
12.2. PROCESSES Client Contoh yang paling umum web browser Web browser harus (idealnya) platform independent Browser harus dengan mudah extensible, sehingga dapat support berbagai macam dokumen yang dikembalikan oleh server, salah satu caranya adalah menggunakan plug in atau proxy
The Apache Web Server diperkirakan telah digunakan oleh 70% dari web site yang ada independent dari platform spesifik, memiliki Apache Portable Runtime (APR)
Web Server Clusters Salah satu permasalah utama dalam arsitektur client-server adalah web server dapat dengan mudah overloaded. Solusi pemecahan praktisnya adalah dengan mereplikasi server dalam sebuah cluster dari server dan menggunakan mekanisme terpisah, dari bagian front end, untuk redirect request dari pengguna ke server yang masih aktif
Content Aware Web Server Clusters
Komunikasi
Hypertext Transfer Protocol
Quick Facts klien mengirimkan pesan permintaan ke server dan menunggu respon pesan. Properti penting dari HTTP adalah stateless konsep koneksi terbuka dan tidak memerlukan server untuk menjaga informasi tentang klien
HTTP Connections Didasarkan pada TCP
1.0 : N.Persistent , 1.1 Persistent
HTTP Methods
Request and Respond
Quick Facts 200 (Ready) 400 (Bad Request) 403 (Forbidden) 404 (Not Found). 405(Not allowed Mode)
HTTP Example
HTTP Header
Simple Object Access Protocol(SOAP) Komunikasi memakai XML Format Pesan : Header Body Protokol bebas, ditentukan pengguna
Tiap format SOAP, isinya beda-beda
Naming
Quick Facts Menggunakan Uniform Resource Identifier (URI ) Sama seperti bahasan bab 5, digunakna untuk mencari mesin atau data yang kita butuhkan dari jaringan.
Bentuk-bentuk URI Uniform Resource Locator (URL) adalah URI yang mengidentifikasi dokumen dengan termasuk informasi tentang bagaimana dan kemana untuk mengakses dokumen Uniform Resource Name (URN) bertindak sebagai benar pengenal digunakan sebagai referensi global yang unik, lokasi-independen, dan continuous dalam dokumen
Contoh macam-macam URI
Banyak URI baru yang dikembangkan (rencana : menggantikan URL)
Sinkronisasi Web tradisional tidak ada masalah : Aturan yang ketat (pertukaran informasi yang terbatas) Web hanya untuk membaca saja (update hanya dari 1 pihak saja)
Sinkronisasi Sinkronisasi Web modern Contoh kasus : dokumen web (distributed authoring docoment web) Solusi : protokol webDAV (web distributed authoring and versioning Fungsi webDAV : Mengunci shared document (eksklusif & shared) Memuat, menghapus, menyalin dan memindahkan dokumen
Konsistensi dan Replikasi Hal yang diutamakan dalam replikasi : Realibility (ketersediaan) Performansi (kinerja)
Web Proxy caching Client side caching ada 2 : Browser : dokumen disimpan dalam cache browser Proxy : menerima permintaan client kirim ke web server respon diteruskan ke klien (+) proxy dapat menyembunyikan hasil & mengembalikan ke client lain (shared cache)
Cache Hirarkis Dalam wilayah tertentu (+) mengurangi lalu lintas jaringan (-) latency tinggi (memeriksa cache)
Distributed Caching
Replikasi Web Web hosting (replikasi dan distribusi pada situs internet) Aspek dalam web hosting : Estimasi metrik Adaptation triggering Mengambil tindakan yang sesuai
Estimasi Metrik Memperkirakan faktor faktor yang ada pada replikasi dan mengetahui penyimpangan replika Faktor – faktor yang ada : Metrik latency : waktu pada tiap tindakan Metrik spatial : jarak antara node Metrik bandwith : melihat jaringan menggunakan bandwith
Adapation Trigerring Perubahan dilakukan secara berkala Kendala : perubahan mendadak terlupakan Contoh kasus : flash crowds (ledakan permintaan) solusinya : replikasi massal situs web
Deteksi flash crowds deteksi flash crowds : teknik ekstrapolasi linear sederhana : Mengukur permintaan dokumen pada interval waktu tertentu 2. Regresi linear menghasilkan kurva menyatakan jumlah akses dalam fungsi waktu
Tiga tindakan Mengubah Perilaku WEB Hosting Mengubah Penempatan replika Mengubah consistency enforcement Memutuskan kapan dan dimana redirect permintaan klien
Prinsip Kerja Akamai CDN
Replikasi Aplikasi WEB Perkembangan WEB cenderung mengarah ke penyediaan konten lebih dinamis dan layanan yang dapat dipanggil oleh apllikasi remote. Dalam hal ini caching dan replikasi meningkatkan keseluruhan kinerja.
Beberapa solusi dapat dikerahkan untuk kinerja aplikasi Web melalui caching dan replikasi namun tak ada satupun yang dapat dianggap terbaik.
EDGE server Edge server digunakan untuk menangani permintaan klien, dan memiliki kemampuan untuk menyimpan (sebagian) informasi yang juga disimpan di server asal . Web meminta data melalui edge server, yang, pada gilirannya, mendapatkan informasi dari server asal terkait dengan situs Web yang spesifik yang disebutkan oleh klien.
Alternatif untuk caching dan replikasi dengan aplikasi Web.
FAULT TOLERANCE dalam sistem terdistribusi berbasis Web terutama dicapai melalui caching sisi-klien dan server replikasi
Bizantium fault-tolerant (BFT) Ada tiga isu yang perlu ditangani : klien dari layanan BFT harus melihat layanan hanya sebagai layanan Web lain. sebuah layanan BFf harus menjamin konsistensi internal saat bertindak sebagai klien. layanan eksternal juga harus memperlakukan layanan BFT bertindak sebagai klien, sebagai satu kesatuan
KEAMANAN Pendekatan utama untuk menyiapkan saluran yang aman dalam Web adalah dengan menggunakan Secure Socket Layer (SSL), awalnya dilaksanakan oleh Netscape. Update SSL telah resmi diletakkan dalam RFC 2246 dan RFC 3546, sekarang disebut sebagai Transport Layer Security (TLS) protokol. TLS adalah sebuah protokol keamanan aplikasi independen yang logis berlapis-lapis di atas sebuah protokol transport
Posisi TLS dalam stack protokol Internet.
TLS sendiri dibagi dalam dua lapisan: Inti dari protokol ini dibentuk oleh lapisan record protokol TLS , yang mengimplementasikan sebuah saluran yang aman antara client dan server Pada fase kedua, otentikasi terjadi. Server selalu dibutuhkan untuk mengotentikasi diri, yang alasan itu lewat klien sertifikat yang berisi kunci publik yang ditandatangani oleh otoritas sertifikasi CA
TLS dengan otentikasi bersama.