PERTEMUAN 2 MODELING WEB APLICATIONS
Spesifikasi Model Web Applications LEVELS Dibedakan tiga tingkat yaitu Content, hypertext, dan presentation
2. ASPECTS Mengikuti prinsip-prinsip berorientasi objek, struktur dan dimodelkan pada masing-masing tiga tingkat, yaitu pada konten, hypertext dan presentasi. Relevansi struktur dan sifat model tergantung pada jenis aplikasi Web. 3. PHASES Urutan langkah-langkah pemodelan tergantung pada jenis aplikasi Web. Pendekatan informasi-driven, dimulai dengan pemodelan isi, atau pendekatan presentasi-driven, yaitu, dimulai dengan presentasi pemodelan aplikasi.
4. Customization Customization mempertimbangkan konteks, misalnya, pengguna, karakteristik perangkat, atau pembatasan bandwidth, yang memungkinkan untuk beradaptasi dengan aplikasi Web.
Data-oriented methods METHODE dan TOOLS Metode tersedia untuk pemodelan aplikasi Web yang biasanya didasarkan pada metode tradisional, seperti sebagai ER, atau mereka meningkatkan bahasa pemodelan berorientasi objek, misalnya, UML. Metode Pemodelan mengikuti paradigma yang berbeda, tergantung pada asal mereka dan fokus: Data-oriented methods Data berasal dari bidang sistem database terutama didasarkan pada model ER yang lebih dispesifikkan dengan konsep-konsep untuk pemodelan pada tingkat hypertext. Fokus utama dari metode ini adalah pemodelan aplikasi Web database-driven. Contoh metode berorientasi data termasuk Relationship Management Metodologi(RMM) dan Bahasa Modeling Web (WebML).
METHODE dan TOOLS 2. Hypertext-oriented methods Fokus pada karakter hypertext aplikasi Web. Misalnya Hypertext Desain Model (HDM) berkembang ke W2000, dan HDM-lite atau Situs Web Design Method (WSDM) 3. Object-oriented methods Metode yang sangat awal seperti UML, termasuk dalam kategori ini Object-Oriented Hypermedia Design Method (OOHDM), UML-based Web Engineering (UWE), Object-Oriented Web Solutions (OOWS), Object-Oriented Hypermedia (OO-H) method.
METHODE dan TOOLS 4. Software-oriented methods Contoh untuk kategori ini adalah Aplikasi Web Extension (WAE), atau WAE2 yang disempurnakan Untuk pengembangan aplikasi web dalam pemilihan Tools menggunakan alat yang mendukung tidak hanya model itu sendiri, tetapi terutama juga otomatisasi, misalnya: WebRatio Site Development Studio merupakan pengembangan model berbasis alat yang dibangun di Web Modeling Language (WebML) (http://www.webml.org).
Alat ini menggunakan notasi sendiri untuk pemodelan hypertext dan tambahan mendukung notasi dan UML. Code generator alat ini menggunakan XSL untuk mengubah isi dan hypertext model yang direpresentasikan dalam XML ke dalam representasi basis data yang diperlukan dan database koneksi serta komponen perangkat lunak dan format output (HTML, WML,PDF, Microsoft Word).
WebRatio menggunakan utilitas bernama EasyStyle untuk menghasilkan presentasi halaman, yang akan mengubah notasi halaman ke stylesheet XSL secara otomatis tanpa kegiatan pemrograman tambahan. Aplikasi Web yang dihasilkan oleh WebRatio adalah ditempatkan dalam kerangka runtime didasarkan pada seperangkat komponen Java, yang dapat dikonfigurasi dengan menggunakan file XML
VisualWADE Alat VisualWADE (http://www.visualwade.com) didasarkan pada metode OO-H. Alat ini mendukung pemodelan dan aplikasi generasi otomatis berbasis pada XML, ASP, JSP, dan PHP. VisualWADE menambah model UML dengan dua model tambahan: 1. Navigasi adalah digunakan untuk memodelkan aspek hypertext dari sebuah aplikasi Web. 2. Presentasi adalah mewakili interaksi elemen antarmuka pengguna yang berkaitan dengan struktur dan perilaku menggunakan struktur template.
OpenUWE OpenUWE (http://www.pst.ifi.lmu.de/projekte/uwe) adalah sebuah lingkungan pengembangan untuk desain dan generasi aplikasi Web menggunakan metodologi UWE. Fitur utama dari suite ini adalah arsitektur terbuka berdasarkan standar yang ditetapkan. Dalam versi saat ini (masih dalam pengembangan), ini termasuk lingkungan pengembangan alat kasus ArgoUWE dan UWEXML kerangka kerja, yang terdiri dari pemeriksaan konsistensi model, editor tata letak, dan generator kode untuk Publishing XML Cocoon Framework dan Java Server Pages.
WEB APLICATION ARCHITECTURE Ada beberapa pengertian menyangkut arsitektur: Arsitektur menjelaskan struktur, arsitektur dari sistem perangkat lunak terdiri dari strukturnya, dekomposisi ke dalam komponen, dan hubungan antarmuka. Arsitektur membentuk transisi dari analisis terhadap implementasi. Architecture dilihat dari sudut pandang yang berbeda, yaitu a. Pandangan konseptual, yang mengidentifikasi entitas dari domain aplikasidan hubungan. b. Pandangan runtime, yang menggambarkan komponen di runtime system. pandangan proses, peta proses pada sistem runtime. .
c. Peta proses pada sistem runtime, melihat aspek seperti c. Peta proses pada sistem runtime, melihat aspek seperti sinkronisasi dan concurrency. d. Pandangan implementasi, yang menggambarkan artefak perangkat lunak sistem. Arsitektur membuat sistem dimengerti. Arsitektur merupakan kerangka untuk sistem yang fleksibel. Developing Architectures Pola Menjelaskan permasalahan desain berulang yang timbul dalam konteks desain yang spesifik.
Buschmann et al. (1996) mengidentifikasi pola pada tiga tingkat abstraksi yang berbeda: a. Arsitektur pola Pola-pola peta mekanisme penataan mendasar untuk perangkat lunak sistem yang menggambarkan subsistem arsitektur, tanggung jawab, hubungan yang saling mempengaruhi. Salah satu contoh adalah jenis pola Model-View-Controller (MVC) . b. Desain pola Pola-pola ini menggambarkan struktur, hubungan yang saling mempengaruhi antar komponen untuk memecahkan masalah desain dalam konteks tertentu.
c. Idiom Mmenjelaskan pola-pola yang mengacu pada implementasi spesifik dalam pemrograman suatu bahasa, misalnya idiom Counted-Pointer untuk manajemen penyimpanan di C + +. 2. Frameworks Sebagai cetak biru untuk arsitektur dasar dan fungsi-fungsi dasar untuk suatu bidang tertentu dari aplikasi. Frameworks juga memiliki kekurangan, yaitu tinggginya tingkat pelatihan, kurangnya standar untuk integrasi kerangka kerja yang berbeda, dan ketergantungan yang dihasilkan pada produsen.
c. Idiom Mmenjelaskan pola-pola yang mengacu pada implementasi spesifik dalam pemrograman suatu bahasa, misalnya idiom Counted-Pointer untuk manajemen penyimpanan di C + +. 2. Frameworks Sebagai cetak biru untuk arsitektur dasar dan fungsi-fungsi dasar untuk suatu bidang tertentu dari aplikasi. Frameworks juga memiliki kekurangan, yaitu tinggginya tingkat pelatihan, kurangnya standar untuk integrasi kerangka kerja yang berbeda, dan ketergantungan yang dihasilkan pada produsen.
3. Pengkategorian Arsitektur Anastopoulos dan Romberg(2001) serta Bongio dkk (2003) menggambarkan arsitektur untuk lingkungan aplikasi Web, mengambil aspek layering dari arsitektur, atau dukungan data yang berbeda dan format data - data aspek arsitektur , yaitu: a. Aspek Layering,layering berarti bahwa sistem perangkat lunak yang terstruktur dalam beberapa tingkatan. b. Aspek Data, data dapat terstruktur atau non-terstruktur. data terstruktur mengikuti didefinisikan skema seperti tabel dalam database relasional atau struktur XML dalam dokumen. Non-data terstruktur multimedia, misalnya, gambar, audio, dan video, yang biasanya tidak mengikuti skema secara eksplisit.
Peningkatan sistem perangkat lunak terdistribusi telah menyebabkan perkembangan arsitektur dan menangani infrastruktur distribusi data dan pesan: Distributed Objsect Middleware (DOM): Jenis infrastruktur memungkinkan untuk mengakses remote objek secara transparan. Hal ini didasarkan pada mekanisme Remote Procedure Call (RPC). Contoh Microsoft DCOM (Distributed Component Object Model), atau EJB (Enterprise Java Beans) oleh Sun Microsystems. Virtual Shared Memory (VSM): Model VSM memungkinkan akses terdistribusi proses data yang umum. Proses sendiri mengakses memori bersama. Contoh Corso (Http://www.tecco.at) dan Equip(http://www.crg.cs.nott.ac.uk).
c. Message Berorientasi Middleware (MOM): MOM sistem menawarkan fungsionalitas untuk asynchronous transmisi pesan. MOM memastikan bahwa pesan yang disampaikan tetap. Contoh Sun JMS (Java Messaging Service) dan Microsoft MSMQ (Microsoft Message Queue). d. Peer to Peer (P2P): untuk mempersingkat komunikasi langsung antara dua perangkat dalam suatu sistem tanpa menggunakan server, yaitu, mereka berkomunikasi melalui sambungan point-to-point. Contoh JXTA (http://www.jxta.org) dan Xmiddle (http://xmiddle.sourceforge.net/). e. Service Oriented Middleware (SOM): SOM meningkatkan sistem DOM, contoh SOM sistem Jini Sun (Http://www.sun.com/software/jini/).
Komponen Arsitektur Aplikasi Web Generik
Teknologi Web Aplikasi A. Hypertext dan Hypermedia Hypertext dipahami sebagai organisasi dari interkoneksi unit informasi tunggal dimana hubungan antara unit-unit ini dapat dinyatakan oleh link dengan inti konsep dasarnya World Wide Web. Hypermedia umumnya dipandang sebagai cara untuk memperluas prinsip hypertext untuk objek multimedia. B. Komunikasi Client/Server a. SMTP (Simple Mail Transfer Protocol) Memungkinkan untuk mengirim dan menerima e-mail juga digunakan sebagai protokol transport pesan asynchronous pertukaran berdasarkan SOAP .
b. RTSP (Real Time Streaming Protocol) Merupakan standar dipublikasikan oleh Internet Engineering Task Force (IETF), dan dirancang untuk mendukung pengiriman data multimedia dalam kondisi real-time. c. HTTP (HyperText Transfer Protocol) Protokol berbasis teks, mengendalikan bagaimana sumber daya dokumen atau gambar diakses yang menggunakan konsep Uniform Resource Identifier (URI). C. Bagian Pelacakan a. Penulisan Ulang URL Mekanisme yang mentransmisikan data sesi-relevan sebagai parameter dalam URL, data yang dikirimkan kemudian dapat digunakan untuk merekonstruksi sesi pada server.
b. Cookie Cookie adalah file teks kecil yang digunakan untuk menyimpan informasi server (misalnya, sebuah ID) yang diklasifikasikan sebagai "sesi" atau "permanen" cookies. Permanen, permanen tetap dikomputer client (disimpan di hard disk). Sesi, hanya disimpan sampai situs yang kiri atau browser ditutup. c. Penggunaan Skenario Bagaimana mengkombinasikan cookies untuk menyimpan URL .
D. Teknologi Dokumen yang Spesifik HTML - Hypertext Markup Language Sebuah aplikasi SGML, menggambarkan unsur-unsur yang dapat digunakan untuk menandai isi dokumen hypertext dan bagaimana unsur-unsur ini saling berhubungan (dalam Document Type Definition (DTD). SVG - Scalable Vector Graphics Memungkinkan menggambarkan grafik dua dimensi dalam XML. SMIL - Synchronized Multimedia Integration Language Dikembangkan oleh W3C untuk mewakili disinkronisasi presentasi multimedia. XML - eXtensible Markup Language Untuk kemudahan pelaksanaan, dan untuk interoperabilitas dengan kedua SGML dan HTML .
D. Teknologi Dokumen yang Spesifik HTML - Hypertext Markup Language Sebuah aplikasi SGML, menggambarkan unsur-unsur yang dapat digunakan untuk menandai isi dokumen hypertext dan bagaimana unsur-unsur ini saling berhubungan (dalam Document Type Definition (DTD). SVG - Scalable Vector Graphics Memungkinkan menggambarkan grafik dua dimensi dalam XML. SMIL - Synchronized Multimedia Integration Language Dikembangkan oleh W3C untuk mewakili disinkronisasi presentasi multimedia. XML - eXtensible Markup Language Untuk kemudahan pelaksanaan, dan untuk interoperabilitas dengan kedua SGML dan HTML .