Re-implementation of a RESTful web-client into JSF Master Thesis - - PowerPoint PPT Presentation
Re-implementation of a RESTful web-client into JSF Master Thesis - - PowerPoint PPT Presentation
Re-implementation of a RESTful web-client into JSF Master Thesis Presentation by Chowdhury Mohammad Ashikur Rahman Overview Motivation Understanding the topic Brief On Case Study Project (Jazz Club Armer Konrad) Problem
2
Overview
- Motivation
- Understanding the topic
- Brief On Case Study Project (Jazz Club Armer Konrad)
- Problem explanation
- Major Concerns
- Tools
- Solution Strategies
- Implementation
- Measurement
- References
- Demo (live/video)
3
Motivation
- Micro-services
→ Higher level of abstraction → More component driven than the regular SOA → Solves the SOA monolith
SOA vs Micro-services
4
Understanding The Topic
5
Understanding The Topic
The topic can be divided into two key parts:
- Extraction of the existing Jazz Club Armer Konrad (JAK) web-client
features, and re-implement it in JSF inside the RESTful web server.
- Answering whether this re-implementation solves the SOA monolith.
6
Brief on Case Study Project (J.A.K)
JAK Presentation Layer Architecture
7
Brief on Case Study Project (J.A.K)
JAK Service Layer Architecture
8
Problem Explanation
- Poor Abstraction of JavaScript
→ No interface, or abstract class in JavaScript → Leads to additional dependency → May Cause Hard Coupling (violation of SOA/Micro-services Architecture)
9
Problem Explanation
- Light Weight
→ No expression language (EL) support → No “View” ↔ “Controller” manipulation
- Too much coding
→ May lead to Code Spaghetti problem when project grows big.
- Less Secure
→ Client side code exposure → Minor html syntax errors may cost a lot
10
Major Concerns
- Re-implementation view should be identical to the existing view (as
much as possible) .
- The new controllers should follow the singularity principle[2].
- The login service should also support the Role based view.
→ Authroized transaction
11
Tools & Technologies
- IDE - Netbeans
- Application Server - Glassfjsh
- Version Controlling - SVN in sourceforge.net
- Framework - JSF
- Component – Primefaces
- RDBMS – MySQL
- ORM – Eclipse Link (JPA)
- EJB, CDI, & JSF managed beans
- Glassfjsh JAX-RS client
- Existing – CSS fjles, and Bootstrap.
12
Solution Strategies
→ Avoiding the Service Layer → Avoiding the JAXB classes
13
Solution Strategies
Generalization of the tasks
14
Implementation
View: → Creating a common template for all the view fjles. → Adding all the existing design information in the template. → Making the view fjles .xhtml standard → Using Expression Language (EL) to manipulate the object
15
Implementation
Controller: → Java Bean Classes → Injects the regarding Entity Service Class (these are not JAX-RS) → Uses EJB for transaction → Contains presentation layer logic
16
Implementation
General Overview:
→ Session based Login logout mechanism → After a successful login, Role based authorization → Insert, Update, Delete, and data view based on Role → Etc.
17
Implementation
Transaction work fm fmow - 1
18
Implementation
Transaction work fm fmow – 2 (sample)
19
Measurement
Comparison with a standard JSF Application [3]: → Is it secure? → Is it responsive? → Is it accessible? → Is it scalable? …… → ...
Image ref: Ebay Logo
20
References
[1] http://www.oracle.com/technetwork/issue-archive/2015/15-mar/o25architect-2458702.html [2] https://en.wikipedia.org/wiki/Single_responsibility_principle [3] https://blogs.oracle.com/theaquarium/entry/javaone_replay_ebay_and_javaserver [4] Ebay Logo