E




Date: March 6, 2017

WIPO Suite
CRUD TECHNICAL DETAILED SPECIFICATIONS
REVISION HISTORY

Revision

Date

Comments

Author

1.0

08/02/2017

Initial document

Christophe Jacques

 

 

 

 

 

 

 

 

 

 

 

 






Contents
INTRODUCTION
PURPOSE
DEFINITION, ACRONYMS
DEVELOPMENT STACK OVERVIEW
DEVELOPMENT STACK LOCATION
DEVELOPMENT STACK DETAILS
1) [DM] Define models
Location
Description
Tests
2) [UI-P UI-G] Primefaces developments
Location
Description
Tests
3) [UI-D] UI Data providers
Location
Description
Tests
4) [MSL] Define services, clients and persistence specifications
Location
Description
Tests
5) [MSL-C] Implementation of clients
Location
Description
Tests
6) [MSL-S] Implementation of service
Location
Description
Tests
7) [DAL-T] Persistence transformers
Location
Description
Tests
8) [DAL-M] Persistence Jpa Implementation
Location
Description
Tests


INTRODUCTION

This technical detailed specification contains the specifications for a "classical CRUD" line of implementation through all layers. It will describe so the detailed of implementation in the UI, Service and persistence layers. This specification can be applied to all modules (based on use case) by replacing the variable {module} by the according module name.

PURPOSE

This document provides detailed specifications for developers to implements a classical CRUD action from UI to database.

DEFINITION, ACRONYMS

The following list contains all the definitions, acronyms and abbreviations useful to understand the document:

Name

Description

CRUD

Create Read Update Delete

SAD

Software Architecture Document ( See SAD for others definitions and acronyms)

TSGD

Technical Specifications Generic Detailled

{module}

Variable to replace with the module to implements. Example {module} == madrid if my implementation regards Madrid module.














DEVELOPMENT STACK OVERVIEW


Development stack
For CRUD 8 steps are needed to have a full ready stack:
1)[DM] Define models
2)UI Primefaces developments
3)UI Data providers
4)Define services, clients and persistence specifications
5)Implementation of clients
6)Implementation of service
7)Persistence transformers
8)Persistence Jpa Implementation

DEVELOPMENT STACK LOCATION


Location of projects
UI elements located in SVN: Wipo-suite-applications/ipas-suite
Modules elements located in SVN: wipo-suite-modules/{module}












DEVELOPMENT STACK DETAILS

[DM] Define models

Location

Description

For every module, the project Specifications contains all the relative models which are specifics to this module.

Tests


[UI-P UI-G] Primefaces developments

Location

Description


This part is dedicated to all the primefaces UI development.
The primefaces development are composed by 2 main part:

These developments should contains no business logic/algorithm and no access to data without data providers. It is the same all configurations and references it should come through a data provider.
UI development part for Xhtml:

UI development part for Java are located in

Tests


To be defined -> Acceptance tests

[UI-D] UI Data providers

Location


Description


The data providers are the UI part which is dedicated to retrieve/send all the informations used by the views. It is composed by an interface which is the specifications and 2 implementations, the target one and the mock one. The mock implementation will allow the web application to work in a standalone/mock mode without requiring any services.



Tests





[MSL] Define services, clients and persistence specifications

Location

Description


The services and clients are specified in the project {module}-specifications: org.wipo.suite.modules.{module}.specifications. These specifications are interfaces, they are used to define all the service and clients method that will be available for your module.
All services and client are running with REST technologies.

Tests











[MSL-C] Implementation of clients

Location

Description


Tests


[MSL-S] Implementation of service

Location

Description



Tests



[DAL-T] Persistence transformers

Location

Description


This part is located in the project {module}-dal it should contains all the transformation from the module models to the JPA entities and from JPA entities to all the module models

Tests


[DAL-M] Persistence Jpa Implementation


Location

Description


This part is located in the project {module}-dal it should contains all the jpa CRUD management


Tests