Fakultas Ilmu Komputer - Universitas Indonesia
Building Web-based Software Product Line Using ABS MVC Framework
RSE Training, 20 Januari 2017 Salman El Farisi (dimodifikasi oleh Afifun Naily)
1
ABS MVC Framework
A tool that will help you to build web based software product line applications using ABS and delta modeling
Model View Controller (MVC)
MVC is a design pattern that can be used to separating development concern into data (model), presentation (view) and business logic (controller).
Best practice to improve code maintainability and reusability.
Used by Object Oriented Programming Language
13
Model View Controller (2)
Model
Controller View
Fig 4. MVC Component Relation
What is ABS MVC Framework
Is a tool that can help software engineer to develop web based software product line
using ABS and MVC design pattern.
Contains: directory structures and helper code
15
How ABS MVC Framework Works?
Fig 5. Big picture of ABS MVC Framework
How to use ABS MVC Framework
Building Model, View, Controller, Route Configuration etc.
17
Prerequisites
ABS MVC Framework (silakan download pada halaman materi tutorial
http://rse.cs.ui.ac.id/?open=event/abs/2017-material )
Apache Ant
MySQL
MySQL dan Apache Ant
Pada tutorial ini sudah disediakan pada direktori D:/training-abs-aisco-2017
Silakan jalankan portable xampp dengan
mengeksekusi xampp/xampp_control.bat
Building Application Model
19
Diimplementasikan pada direktori src/abs/model
Building Application Model (2)
Building Application Controller
21
Diimplementasikan pada src/abs/controller
Building Application Controller (2)
Building Application View
23
Merupakan sebuah berkas HTML
Diimplementasikan pada src/abs/view
Building Application View (2)
Routing Configuration
Mapping between HTTP Request and Application method
25
Routing Configuration
Fig 6. ABS MVC Routing Mechanism
Routing Configuration
27
Menambahkan Otentikasi dan Otoriasi
Memproteksi view untuk beberap user tertentu saja
Mendefinisikan Akun
29
Edit berkas auth.properties
Format : <email>=<md5_pass>:<role_name>
Menambahkan Role pada Routing Config
Edit berkas framework/Route.abs
Format :
<url> => <nama_role>:<nama_kelas_kontroler>@<nama_method>
Delta modeling in ABS MVC Framework
Change the Controller and Model implementation using deltas
31
Defining Deltas
Defining Deltas (2)
33
Product Configuration & Selection
Implementing deltas to build software product variant
Product Line Configuration
35
Product Selection
The Result
37
Generate Schema
Generate Schema
39
ant -Dabsproduct=<nama_produk> generate.schema
Generate Product
Generate Product
41
ant -Dabsproduct=<nama_produk>abs.deploy