Re-implementation of a RESTful web-client into JSF Master Thesis - - PowerPoint PPT Presentation

re implementation of a restful web client into jsf
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Re-implementation of a RESTful web-client into JSF

Master Thesis Presentation by Chowdhury Mohammad Ashikur Rahman

slide-2
SLIDE 2

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)
slide-3
SLIDE 3

3

Motivation

  • Micro-services

→ Higher level of abstraction → More component driven than the regular SOA → Solves the SOA monolith

SOA vs Micro-services

slide-4
SLIDE 4

4

Understanding The Topic

slide-5
SLIDE 5

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.
slide-6
SLIDE 6

6

Brief on Case Study Project (J.A.K)

JAK Presentation Layer Architecture

slide-7
SLIDE 7

7

Brief on Case Study Project (J.A.K)

JAK Service Layer Architecture

slide-8
SLIDE 8

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)

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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.
slide-12
SLIDE 12

12

Solution Strategies

→ Avoiding the Service Layer → Avoiding the JAXB classes

slide-13
SLIDE 13

13

Solution Strategies

Generalization of the tasks

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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.

slide-17
SLIDE 17

17

Implementation

Transaction work fm fmow - 1

slide-18
SLIDE 18

18

Implementation

Transaction work fm fmow – 2 (sample)

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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