(JavaEE)Arsitektur Java Web Vaadin Framework

architecture-detailed-lo

Vaadin menyediakan dua model pengembangan untuk aplikasi web: untuk sisi klien (browser) dan server-side. Server-driven model pembangunan adalah yang lebih kuat, yang memungkinkan pengembangan aplikasi hanya pada sisi server, dengan memanfaatkan Vaadin berbasis AJAX Client-Side Engine yang membuat user interface dalam browser. Model client-side memungkinkan mengembangkan widget dan aplikasi di Jawa, yang dikompilasi untuk JavaScript dan dieksekusi di browser. Kedua model dapat berbagi widget mereka UI, tema, dan kode back-end dan layanan, dan dapat dicampur bersama-sama dengan mudah.

memberikan ilustrasi dasar dari sisi klien dan server-side komunikasi, dalam situasi berjalan di mana halaman dengan kode sisi klien (mesin atau aplikasi) telah awalnya dibuka di browser.

Vaadin Kerangka terdiri dari API server-side, API sisi klien, segerombolan komponen / widget user interface pada kedua belah pihak, untuk mengendalikan penampilan tema, dan model data yang memungkinkan mengikat komponen server-side langsung ke data . Untuk pengembangan client-side, itu termasuk Compiler Vaadin, yang memungkinkan kompilasi Jawa untuk JavaScript.

Sebuah aplikasi Vaadin sisi server berjalan sebagai servlet dalam server web Java, melayani permintaan HTTP. VaadinServlet ini biasanya digunakan sebagai kelas servlet. Servlet menerima permintaan klien dan inteprets mereka sebagai acara untuk sesi pengguna tertentu. Acara yang terkait dengan komponen antarmuka pengguna dan dikirimkan ke pendengar acara didefinisikan dalam aplikasi. Jika logika UI membuat perubahan pada komponen antarmuka pengguna server-side, servlet membuat mereka di web browser dengan menghasilkan tanggapan. Mesin client-side berjalan di browser menerima tanggapan dan menggunakan mereka untuk membuat perubahan yang diperlukan ke halaman dalam browser.

Bagian utama dari arsitektur server pengembangan-driven dan fungsi mereka adalah sebagai berikut:

User Interface
Aplikasi Vaadin menyediakan antarmuka pengguna bagi pengguna untuk antarmuka dengan logika bisnis dan data aplikasi. Pada tingkat teknis, UI tersebut direalisasikan sebagai kelas UI yang memanjang com.vaadin.ui.UI. Tugas utamanya adalah untuk menciptakan user interface awal dari komponen UI dan mengatur pendengar acara untuk menangani input pengguna. UI kemudian dapat dimuat di browser menggunakan URL, atau dapat ditanamkan ke halaman HTML. Untuk informasi rinci tentang pelaksanaan UI, lihat Bab 4, Menulis Server-Side Aplikasi Web.

Harap dicatat bahwa istilah “UI” digunakan di seluruh buku ini untuk merujuk baik kepada konsep UI umum serta konsep kelas UI teknis.

Komponen / Widget User Interface
User interface dari aplikasi Vaadin terdiri dari komponen yang dibuat dan ditata oleh aplikasi. Setiap komponen server-side memiliki rekan sisi klien, sebuah “widget”, dengan yang diberikan di browser dan dengan mana pengguna berinteraksi. Widget sisi klien juga dapat digunakan oleh aplikasi client-side. Komponen sisi server menyampaikan peristiwa ini ke logika aplikasi. Komponen medan yang memiliki nilai, dimana pengguna dapat melihat atau mengedit, dapat terikat ke sumber data (lihat di bawah). Untuk penjelasan lebih rinci dari arsitektur komponen UI, lihat Bab 5, User Interface Komponen.

Client-Side Mesin
The Client-Side Engine Vaadin mengelola rendering ther UI di web browser dengan menggunakan berbagai widget sisi klien, rekan-rekan dari komponen server-side. Ini mengkomunikasikan interaksi pengguna ke server-side, dan kemudian kembali membuat perubahan di UI. Komunikasi yang dibuat menggunakan asynchronous HTTP atau HTTPS permintaan. Lihat Bagian 3.3, “Client-Side Mesin”.

Vaadin Servlet
Aplikasi Vaadin Server-side bekerja di atas Java Servlet API (lihat Bagian 3.2.5, “Java Servlets”). The Vaadin servlet, atau lebih tepatnya kelas VaadinServlet, menerima permintaan dari klien yang berbeda, menentukan pengguna sesi mereka milik dengan melacak sesi dengan cookie, dan mendelegasikan permintaan untuk sesi yang sesuai mereka. Anda dapat menyesuaikan servlet Vaadin dengan memperluas.

Tema
Vaadin membuat pemisahan antara penampilan dan komponen struktur antarmuka pengguna. Sementara logika UI ditangani sebagai kode Java, presentasi didefinisikan dalam tema sebagai CSS atau Sass. Vaadin menyediakan sejumlah tema default. Tema pengguna dapat, selain style sheet, termasuk template HTML yang mendefinisikan tata letak kustom dan sumber daya lainnya, seperti gambar. Tema yang dibahas secara rinci dalam Bab 8, Tema.

Acara
Interaksi dengan komponen antarmuka pengguna menciptakan peristiwa, yang pertama kali diproses pada sisi klien dengan widget, kemudian melewati semua jalan melalui server HTTP, Vaadin servlet, dan komponen antarmuka pengguna ke pendengar acara didefinisikan dalam aplikasi. Lihat Bagian 3.4, “Acara dan Pendengar”.

Server push
Selain model pemrograman event-driven, Vaadin mendukung push server, di mana perubahan UI didorong langsung dari server ke klien tanpa permintaan klien atau acara. Hal ini memungkinkan untuk memperbarui UIS segera dari benang lain dan UIS lainnya, tanpa harus menunggu permintaan. Lihat Bagian 11.15, “Server push”.

Data Binding
Selain model antarmuka pengguna, Vaadin menyediakan model data untuk data yang mengikat disajikan dalam komponen bidang, seperti bidang teks, kotak cek dan komponen seleksi, ke sumber data. Menggunakan model data, komponen antarmuka pengguna dapat memperbarui data aplikasi langsung, seringkali tanpa perlu untuk setiap kode kontrol. Semua komponen lapangan di Vaadin menggunakan model data internal, tetapi salah satu dari mereka dapat terikat ke sumber data terpisah juga. Misalnya, Anda dapat mengikat komponen meja untuk respon query SQL. Untuk gambaran lengkap dari Data Model Vaadin, lihat Bab 9, Komponen Binding Data.

Client-Side Aplikasi
Selain aplikasi web server-side, Vaadin mendukung modul aplikasi client-side, yang berjalan di browser. Modul client-side dapat menggunakan widget yang sama, tema, dan layanan back-end aplikasi Vaadin server-side. Mereka berguna ketika Anda memiliki kebutuhan untuk logika UI yang sangat responsif, seperti untuk permainan atau untuk melayani sejumlah besar klien dengan kemungkinan kewarganegaraan kode sisi server, dan untuk berbagai keperluan lainnya, seperti menawarkan mode off-line untuk server aplikasi-side. Silakan lihat Bab 14, Client-Side Aplikasi untuk rincian lebih lanjut.

Back-end
Vaadin dimaksudkan untuk membangun user interface, dan dianjurkan bahwa lapisan aplikasi lain harus disimpan terpisah dari UI. Logika bisnis dapat berjalan dalam servlet yang sama dengan kode UI, biasanya dipisahkan setidaknya oleh API Java, mungkin sebagai EJBs, atau didistribusikan ke layanan back-end jarak jauh. Penyimpanan data biasanya didistribusikan ke sistem manajemen database, dan biasanya diakses melalui solusi ketekunan, seperti JPA.

Advertisements

Published by

jarcode

hello I am jarcode

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s