Skip to content

Microservice pattern: Server-side page fragment composition #2697

Open

Description

@iluwatar

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.

Activity

  1. converted this from a draft issue on Oct 15, 2023
  2. Pat-r1ck commented on Nov 28, 2023

    @Pat-r1ck

    can you assign me this one.

  3. moved this from Todo to In Progress in Java Design Patterns projecton Dec 2, 2023
  4. stale commented on Feb 1, 2024

    @stale

    This issue has been automatically marked as stale because it has not had recent activity. The issue will be unassigned if no further activity occurs. Thank you for your contributions.

  5. added
    status: staleissues and pull requests that have not had recent interaction
    on Feb 1, 2024
  6. removed
    status: staleissues and pull requests that have not had recent interaction
    on Mar 24, 2024
  7. 9 remaining items

  8. moved this from In Progress to Todo in Java Design Patterns projecton Mar 8, 2025
  9. iluwatar commented on Mar 8, 2025

    @iluwatar
    OwnerAuthor

    The issue is free now, if you're still interested @SARAELGYAR

  10. RitikaMathur19 commented on Oct 15, 2025

    @RitikaMathur19

    PLease assign this to me if it is still available.

  11. moved this from Todo to In Progress in Java Design Patterns projecton Jun 1, 2026
  12. github-actions commented on Aug 1, 2026

    @github-actions

    This issue is stale because it has been open 60 days with no activity.

  13. moved this from In Progress to Todo in Java Design Patterns projecton Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions