Module 6 - RIA-2
Sunita D Rathod
Index
AJAX: Introduction and Working
Developing RIA using AJAX Techniques: CSS, HTML, DOM, XML HTTP Request,
JavaScript, PHP, AJAX as REST Client
Introduction to Open Source Frameworks and CMS for RIA: Django, Drupal,
Joomla
Developing RIA using AJAX Techniques
● Developing Rich Internet Applications (RIA) using AJAX Techniques involves
creating interactive and dynamic web applications that can update parts of a
web page without reloading the entire page.
● AJAX allows web applications to communicate with the server
asynchronously, improving speed, usability, and responsiveness.
Developing RIA using AJAX Techniques
● AJAX is commonly used with technologies such as JavaScript, HTML, CSS,
and server frameworks like [Link].
Components of AJAX
AJAX combines several technologies:
How AJAX Works
AJAX follows an asynchronous communication process:
1. User interacts with a web page (click button, submit form).
2. JavaScript sends an AJAX request to the server.
3. Server processes the request.
4. Server sends data back to the browser.
5. JavaScript updates the webpage dynamically.
Auto-suggestions in search engines
Auto-suggestions in search engines
Auto-suggestions in search engines
Auto-suggestions in search engines
If the user types "web", the webpage displays suggestions like:
Auto-suggestions in search engines
If the user types "web d", suggestions may appear as:
Example: AJAX GET Request to REST API
HTML + JavaScript example:
Example REST API (Server Side)
Advantages of AJAX as REST Client
● No full page reloads
● Faster and smoother user experience
● Efficient use of network bandwidth
● Real-time updates in web applications
● Easy integration with REST APIs
Open Source Frameworks and CMS for RIA
Open-source frameworks and CMS platforms help developers build RIAs faster by
providing ready-made tools, libraries, and architecture.
CMS vs Framework
CMS vs Framework
Django
Django is a
● high-level,
● open-source
● web framework written in Python
that helps developers build
● secure,
● scalable,
● and maintainable web applications quickly.
Key Features of Django
1. MTV Architecture
Django follows the Model–Template–View (MTV) architectural pattern.
Component Description
Model Defines database structure and handles data logic.
Template Handles the presentation layer (HTML pages).
View Contains the business logic and connects model
and template.
Key Features of Django
2. Built-in Admin Panel
Django automatically generates an admin interface that allows developers to
manage database records without writing extra code.
Example uses:
● Add or delete users
● Manage blog posts
● Update product details
Key Features of Django
3. ORM (Object Relational Mapping)
Django provides an ORM system that allows developers to interact with databases
using Python code instead of SQL queries.
Supported databases include:
● SQLite
● MySQL
● PostgreSQL
● Oracle
Key Features of Django
4. Security Features
Django includes many built-in protections:
● CSRF protection
● SQL injection prevention
● Clickjacking protection
● Secure password hashing
Key Features of Django
5. Template Engine
Django provides a template system to dynamically generate HTML pages.
Example:
<h1>Hello {{ name }}</h1>
Key Features of Django
6. Scalability
Django is used by large websites because it can handle high traffic and large
databases.
Some well-known websites using Django include:
● Instagram
● Pinterest
● Mozilla
Advantages of Django
● Rapid development
● Built-in authentication system
● Scalable for large applications
● Secure by default
● Large developer community
Disadvantages of Django
● Not ideal for very small projects
● Monolithic structure (less flexible than micro-frameworks)
● Requires understanding of the full framework
Drupal
● Drupal is a powerful open-source Content Management System (CMS)
written in PHP.
● It is used to build everything from simple websites to complex, enterprise-level
web applications.
● It is highly flexible, secure, and scalable, making it suitable for everything from
small websites to large enterprise portals.
Key Features
1. Modular Architecture
● Drupal is built using core + modules
● You can extend functionality by enabling modules (like plugins)
2. Content Management
● Uses content types (Article, Page, Blog, etc.)
● Supports custom fields (text, image, file, etc.)
Key Features
3. User Management
● Role-based access control (Admin, Editor, User)
● Fine-grained permissions
4. Taxonomy System
● Organize content using tags and categories
● Helps in structured content classification
Key Features
5. Theming System
● Separate design (themes) from content
● Supports responsive and customizable UI
6. Multilingual Support
● Built-in support for multiple languages
Key Features
7. Security
● Strong security team and regular updates
● Used by government and enterprise websites
The Drupal Architecture (The "Layered" Approach)
1. The Data Layer (Database)
At the bottom sits the database (usually MySQL, MariaDB, or PostgreSQL). This
stores everything: your actual content (nodes), user information, comments, and
even the site's configuration settings.
2. The Core Layer (The Brain)
The Drupal Core is the foundation. It provides the essential files and logic
required for the system to boot up. It handles:
● Routing: Deciding which page to show based on the URL.
● Security: Managing permissions and encryption.
● API Systems: Providing the tools that modules use to talk to each other.
The Drupal Architecture (The "Layered" Approach)
3. The Module Layer (Functionality)
This is where the "heavy lifting" happens.
● Core Modules: Features like "Node" (content) and "User" that come out of
the box.
● Contributed Modules: Community-created tools (like Webform or Pathauto)
that you download to add specific features.
● Custom Modules: Code written by developers specifically for that one
website.
The Drupal Architecture (The "Layered" Approach)
4. The Services & Hooks Layer
Drupal uses a system of Hooks and Events. Think of these as "interruption
points." When Drupal is about to save a piece of content, it yells out, "I'm about to
save this! Does any module want to change it first?" This allows modules to modify
behavior without changing the core code.
The Drupal Architecture (The "Layered" Approach)
5. The Theme Layer (Presentation)
This is the "skin." In modern Drupal (versions 8 through 11+), this layer uses the
Twig templating engine. It takes the processed data from the modules and turns
it into HTML, CSS, and JavaScript for the user's browser.
Advantages
● Highly customizable and flexible
● Strong security and reliability
● Scalable for large applications
● Active community support
Disadvantages
● Steep learning curve for beginners
● Requires technical knowledge
● Development can be complex
Applications
● Government websites
● Educational portals
● E-commerce sites
● Community platforms
Joomla
● Joomla is a free and open-source Content Management System (CMS)
used to build websites and online applications.
● It is written in PHP and uses a MySQL database.
● Joomla is known for balancing ease of use and flexibility, making it suitable
for both beginners and developers.
Key features
1. User-Friendly Interface
● Simple and intuitive admin panel
● Easy content creation and management
2. Content Management
● Create and manage articles
● Organize using categories and menus
Key features
3. Extensions Support
● Add functionality using:
○ Components
○ Modules
○ Plugins
4. User Management
● Supports multiple user roles
● Access Control Levels (ACL) for permissions
Key features
5. Template System
● Separate design using templates
● Easy customization of website layout
6. Multilingual Support
● Built-in support for multiple languages
ADVANTAGE
● Easy to learn compared to Drupal
● Flexible and extensible
● Strong community support
● Built-in multilingual features
Disadvantages
● Less flexible than Drupal for complex systems
● Fewer plugins compared to WordPress
● Customization can be moderate in complexity
Applications
● Business websites
● E-commerce sites
● Social networking sites
● Portals and blogs
Key Differences
Key Differences
Comparison
Thank you