dabdda167f
- Extract all wiki content from create_wiki_pages.py into docs/wiki/pages/*.md - Add docs/wiki/deploy_wiki.sh: copies pages to wiki/ repo, commits, pushes - Add /wiki/ to .gitignore (anchored — does not affect docs/wiki/) - 12 pages: Home, MCP-Servers-Overview, mcp-image-gen, ComfyUI-Setup, mcp-webscraper (8 tools incl. search_hint), BigMind (schema v8), Development-Conventions, Java-Projects, Java-wellmann-shop, Java-mss-failsafe, Java-Architecture, _Sidebar - Workflow: edit docs/wiki/pages/*.md → ./docs/wiki/deploy_wiki.sh
95 lines
3.0 KiB
Markdown
95 lines
3.0 KiB
Markdown
# 🏢 mss-failsafe — Multi-Module Enterprise Application
|
|
|
|

|
|
|
|
**mss-failsafe** is a multi-module Java EE enterprise web application demonstrating advanced patterns: modular Maven builds, Jakarta Security (Soteria), and multi-layer JPA architecture.
|
|
|
|
## Tech Stack
|
|
|
|
| Component | Technology |
|
|
|---|---|
|
|
| **Language** | Java 11 |
|
|
| **Web Framework** | JSF 2.3 (Facelets/XHTML) |
|
|
| **UI Components** | PrimeFaces 10 |
|
|
| **Persistence** | JPA (multi-module) |
|
|
| **Security** | Jakarta Security / Soteria |
|
|
| **Build** | Maven multi-module |
|
|
| **App Server** | WildFly/JBoss |
|
|
|
|
## Module Structure
|
|
|
|
```
|
|
java/mss-failsafe/
|
|
├── pom.xml ← Parent POM (multi-module)
|
|
├── mssfailsafe.datalayer/ ← JPA entities + persistence
|
|
│ ├── pom.xml
|
|
│ └── src/main/resources/META-INF/persistence.xml
|
|
├── userdata/ ← User data model module
|
|
│ └── pom.xml
|
|
└── userManagement/ ← Web UI module (JSF/PrimeFaces)
|
|
├── pom.xml
|
|
├── nb-configuration.xml ← NetBeans config
|
|
└── src/main/webapp/
|
|
├── index.xhtml ← Landing page
|
|
├── error.xhtml ← Error handling page
|
|
├── admin/
|
|
│ └── welcome.xhtml ← Admin dashboard
|
|
├── user/
|
|
│ └── welcome.xhtml ← User welcome page
|
|
└── WEB-INF/
|
|
├── web.xml
|
|
├── jboss-web.xml
|
|
└── jboss-app.xml
|
|
```
|
|
|
|
## Architecture Layers
|
|
|
|
```
|
|
userManagement (Web/UI layer)
|
|
│
|
|
▼
|
|
userdata (Domain model layer)
|
|
│
|
|
▼
|
|
mssfailsafe.datalayer (JPA persistence layer)
|
|
│
|
|
▼
|
|
Database (via persistence.xml datasource)
|
|
```
|
|
|
|
## Key Features
|
|
|
|
- **Multi-Module Maven** — Clean separation of concerns across 4 modules
|
|
- **Jakarta Security (Soteria)** — Modern declarative security replacing legacy JAAS
|
|
- **Role-Based Access** — Admin vs User role segregation (`admin/` and `user/` view paths)
|
|
- **PrimeFaces 10** — Modern PrimeFaces with updated component API
|
|
- **Error Handling** — Dedicated `error.xhtml` with JSF error page mapping
|
|
|
|
## Security Model
|
|
|
|
Soteria-based security with two roles:
|
|
|
|
| Role | Path | Access |
|
|
|---|---|---|
|
|
| `admin` | `/admin/*` | Full admin dashboard |
|
|
| `user` | `/user/*` | Standard user views |
|
|
|
|
## Building
|
|
|
|
```bash
|
|
cd java/mss-failsafe
|
|
mvn clean install # builds all modules in dependency order
|
|
# Deploy userManagement.war to WildFly
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Represents a more mature architecture than wellmann-shop (Java 11, PrimeFaces 10)
|
|
- Demonstrates multi-module Maven project management
|
|
- Soteria replaces legacy JAAS — more modern Jakarta EE security approach
|
|
- Pattern mirrors what Patrick uses professionally in the Paisy/ADP codebase
|
|
|
|
## Source
|
|
|
|
[`java/mss-failsafe/`](../src/branch/main/java/mss-failsafe)
|