iluwatar / iluwatar/java-design-patterns

Microservice pattern: Server-side page fragment composition

Open
#2,697 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

epic: pattern info: help wanted type: feature
Dominant language
Java
Stars
94.7k
Forks
27.4k
Avg merge
3d 4h
Merged PRs (30d)
10

Description

Description:

The Server-Side Page Fragment Composition design pattern involves composing a webpage from various fragments that are managed by different microservices. This pattern is particularly useful for creating modular, scalable web applications where each part of the page can be developed, deployed, and scaled independently. The key elements of this pattern include:

  1. Fragment Composition: The server assembles the final webpage by composing various page fragments delivered by different microservices.
  2. Microservices: Each page fragment is managed by a separate microservice, responsible for rendering that specific fragment.
  3. Scalability and Independence: Each microservice can be developed, deployed, and scaled independently, enhancing the flexibility and maintainability of the application.
  4. Performance Optimization: By assembling the page on the server-side, the pattern can optimize performance by reducing the load on the client and improving response times.
  5. Consistent User Experience: Ensures a consistent user experience by composing fragments into a cohesive webpage.

References:

Acceptance Criteria:

  1. Implement a demo project illustrating the Server-Side Page Fragment Composition design pattern.
  2. Create separate microservices for different page fragments (e.g., header, footer, main content).
  3. Implement a server-side composition service to assemble the final webpage from these fragments.
  4. Ensure that each microservice can be independently developed, deployed, and scaled.
  5. Provide comprehensive documentation and examples demonstrating the use of this pattern.
  6. Adhere to the project contribution guidelines outlined in the wiki.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the referenced Server-Side Page Fragment Composition pattern and the project contribution guidelines. Define the demo’s separate header, footer, and main-content services and the server-side composition service before implementing. Done means the independent services compose a final webpage and the repository includes comprehensive documentation and examples.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.