Rule-based mashups can be implemented both server-side and client-side using rules to orchestrate various services. Rules define widget dependencies and user interactions to customize the mashup experience. Client-side mashups allow users to interact directly with services using local rules without relying on a dedicated mashup server.