Focus

Resource Oriented Client Architecture (ROCA)

ROCA is an architectural style for web applications that builds on the fundamental principles and technologies of the web.

Build web applications consistently with web standards

ROCA stands for Resource-Oriented Client Architecture and describes an approach to web applications that uses HTTP, HTML, CSS, and JavaScript according to their respective strengths. Content and navigation remain fundamentally accessible without JavaScript, while additional interaction is added progressively. ROCA therefore brings together principles such as REST, progressive enhancement, and clear resource boundaries in a robust web architecture. For more background, see our topic pages on Web, REST and HTTP, Frontend Development, JavaScript, and CSS.

On this page, you will find articles, podcasts, and talks on ROCA, web architecture, and progressive enhancement.

Our Services

We advise honestly, think innovatively and love to build. The result: successful software solutions, infrastructures and business models.

Case Studies

Case Study

Building a learning platform that enables continuous pedagogical evolution

Case Study

From idea to MVP in 8 weeks: An insurance platform for e-sports players

Frequently Asked Questions

Do you have questions about web architecture? Here you will find answers to questions we are frequently asked.

What makes a good web architecture?

A good web architecture establishes clear boundaries between components and makes deliberate use of web standards. This includes well-designed resource models, clearly defined interfaces, and appropriate use of HTTP methods, status codes, and caching. These principles make systems easier to develop, maintain, and evolve over time.

INNOQ helps teams design and evolve sustainable web architectures: Software Architecture and Development

When is REST a good choice for an API?

REST is particularly well suited to systems that expose clearly defined resources and need interfaces that can remain stable while clients and services evolve independently. The key is not simply to adopt a certain API structure, but to apply REST principles and HTTP semantics consistently.

Developers who want to explore these principles in depth can do so in our iSAQB® training course Web-native Software Architecture.

What role does HTTP play in API design?

HTTP already provides many of the mechanisms needed to build robust APIs, including methods, status codes, headers, content negotiation, and caching. Using these mechanisms consistently reduces the need for custom conventions and makes APIs easier to understand, integrate, and operate.

Our Web-native Software Architecture training course shows how to apply these principles in real-world systems.

How can I tell if an API has poor boundaries?

Common warning signs include tightly coupled clients, frequent changes that affect many endpoints at once, or APIs that expose internal data models almost unchanged. Very chatty interfaces or a growing number of custom operations can also indicate that resources and responsibilities have been divided along the wrong boundaries.

For existing systems, an independent review can help uncover these structural issues: Software Reviews

Why are resource boundaries so important in distributed systems?

Resource boundaries determine which parts of a system can evolve independently. If responsibilities are unclear or interfaces are closely tied to internal implementations, changes tend to propagate across multiple systems. Well-designed boundaries reduce this coupling and make independent development and deployment easier.

INNOQ looks beyond individual APIs and considers how they fit into the wider software architecture: Software Architecture and Development

How can web APIs be designed securely from the start?

Security should be considered when designing both the architecture and its interfaces. This includes authentication and authorization, secure data transmission, appropriate use of browser security mechanisms, and protection against common attacks on web applications and APIs.

INNOQ supports teams in assessing and building secure systems: IT Security

We also offer developer-focused training on Web Security and the OWASP Top 10.

How does INNOQ support teams working with web architecture?

We help development teams design, assess, and evolve web architectures and APIs. Our work goes beyond individual technologies and includes questions around resource boundaries, coupling, integration patterns, security, and long-term maintainability. Depending on the situation, we can work directly with your team on the architecture, review an existing system, or transfer the necessary knowledge through training and coaching.

Find out more about Software Architecture and Development, Software Reviews, and Web-native Software Architecture.