{"id":17738,"date":"2026-10-21T18:52:46","date_gmt":"2026-10-21T18:52:46","guid":{"rendered":"https:\/\/www.rapidclouddevelopment.com\/?page_id=17738"},"modified":"2026-10-21T18:54:55","modified_gmt":"2026-10-21T18:54:55","slug":"rcd-en-consultingwerk","status":"publish","type":"page","link":"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/","title":{"rendered":"RCD &#038; Consultingwerk"},"content":{"rendered":"\n<style>@import url('https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap');.rcd-page{overflow-x:hidden;background:#F6F7FB;color:#0E1424;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.rcd-page *,.rcd-page *::before,.rcd-page *::after{box-sizing:border-box}.rcd-page img{max-width:100%}.rcd-page picture{display:block}.rcd-page picture>img{display:block;width:inherit;height:inherit;max-width:100%;max-height:inherit;object-fit:inherit;object-position:inherit;border-radius:inherit;aspect-ratio:inherit}.rcd-page details>summary{list-style:none}.rcd-page details>summary::-webkit-details-marker{display:none}.rcd-page details[open]{border-color:#FF6B2C!important}.rcd-page details .rcd-sign{transition:transform .2s,background .2s}.rcd-page details[open] .rcd-sign{background:#C2410C!important;color:#fff!important;transform:rotate(45deg)}.rcd-page a[href^=\"mailto:\"]{word-break:break-all}.rcd-page{--paper: #F6F7FB; --card: #FFFFFF; --line: #E3E7F0; --fg: #0E1424; --muted: #4A5468; --rcd: #FF6B2C; --rcd-strong: #C2410C; --cw: #0F8F86; --cw-soft: #2DD4BF; --ai: #7C5CFF; --tint-rcd: rgba(255,107,44,.09); --tint-cw: rgba(15,143,134,.09); --ink: #0A0E1A; --ink-2: #111729; --on-ink: #E7EAF3; --on-ink-muted: #9AA3B8; --f-display: \"Sora\",ui-sans-serif,system-ui,sans-serif; --f-body: \"Inter\",ui-sans-serif,system-ui,-apple-system,\"Segoe UI\",sans-serif; --f-mono: \"JetBrains Mono\",ui-monospace,Consolas,monospace;}.rcd-page *{box-sizing: border-box;}.rcd-page{background-color: var(--paper); color: var(--fg); font: 400 16px\/1.6 var(--f-body);}.rcd-page .wrap{max-width: 1120px; margin: 0px auto; padding-left: max(16px,env(safe-area-inset-left,0px)); padding-right: max(16px,env(safe-area-inset-right,0px));}.rcd-page h1,.rcd-page h2,.rcd-page h3{font-family: var(--f-display); text-wrap: balance; margin: 0px; letter-spacing: -0.02em;}.rcd-page p{margin: 0px;}.rcd-page .eyebrow{font: 500 12px\/1 var(--f-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--rcd-strong);}.rcd-page section{padding-block: 88px;}.rcd-page .sec-head{display: flex; flex-direction: column; gap: 14px; max-width: 720px; margin-bottom: 44px;}.rcd-page .sec-head h2{font-size: clamp(28px, 4vw, 40px); line-height: 1.1;}.rcd-page .sec-head p{color: var(--muted); font-size: 18px;}.rcd-page a{color: inherit;}.rcd-page :focus-visible{outline: 2px solid var(--rcd); outline-offset: 3px; border-radius: 6px;}.rcd-page .hero{background-color: var(--ink); color: var(--on-ink); position: relative; overflow: hidden; background-image: radial-gradient(50% 70% at 12% 10%, rgba(255, 107, 44, 0.22), transparent 70%), radial-gradient(50% 70% at 92% 90%, rgba(45, 212, 191, 0.18), transparent 70%), linear-gradient(rgba(255, 255, 255, 0.043) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.043) 1px, transparent 1px); background-size: auto, auto, 40px 40px, 40px 40px;}.rcd-page .hero .wrap{padding-block: 72px 80px; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 48px; align-items: center;}.rcd-page .hero .eyebrow{color: rgb(255, 138, 76);}.rcd-page .hero h1{font-size: clamp(38px, 6vw, 68px); line-height: 1.02; letter-spacing: -0.035em; margin-top: 18px;}.rcd-page .grad{background: linear-gradient(90deg, rgb(255, 107, 44), rgb(255, 177, 74) 45%, rgb(45, 212, 191)) text; color: transparent;}.rcd-page .hero .lede{color: var(--on-ink-muted); font-size: 19px; max-width: 560px; margin-top: 22px;}.rcd-page .chips{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px;}.rcd-page .chip{display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.18); font: 500 13px var(--f-body); color: var(--on-ink);}.rcd-page .chip i{width: 8px; height: 8px; border-radius: 50%; display: block;}.rcd-page .hero-art{min-width: 0px;}.rcd-page .hero-art svg{width: 100%; height: auto; display: block;}.rcd-page .duo{display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: stretch;}.rcd-page .party{background-color: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 18px; min-width: 0px;}.rcd-page .party header{display: flex; align-items: center; gap: 14px;}.rcd-page .mark{width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font: 700 17px var(--f-display); color: rgb(255, 255, 255); flex: 0 0 auto;}.rcd-page .party h3{font-size: 22px;}.rcd-page .party .role{font: 500 12px var(--f-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);}.rcd-page .party p{color: var(--muted);}.rcd-page .party ul{list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 10px;}.rcd-page .party li{display: flex; gap: 10px; align-items: flex-start;}.rcd-page .party li svg{flex: 0 0 auto; margin-top: 4px;}.rcd-page .party .meta{margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); font: 500 13px var(--f-mono); color: var(--muted); display: flex; flex-wrap: wrap; gap: 6px 16px;}.rcd-page .join{display: flex; align-items: center; justify-content: center;}.rcd-page .join span{width: 56px; height: 56px; border-radius: 50%; background-color: var(--ink); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; font: 600 22px var(--f-display); box-shadow: 0 0 0 6px var(--paper),0 0 30px -4px rgba(255,107,44,.6);}.rcd-page .flow{background-color: var(--card); border: 1px solid var(--line); border-radius: 28px; padding: 28px; display: grid; grid-template-columns: minmax(0px, 1fr); gap: 24px;}.rcd-page .diagram{overflow-x: auto;}.rcd-page .diagram svg{min-width: 760px; width: 100%; height: auto; display: block;}.rcd-page .node rect.box{fill: var(--paper); stroke: var(--line); stroke-width: 1.5; transition: stroke 0.3s, fill 0.3s;}.rcd-page .node text{fill: var(--fg); font-family: var(--f-body);}.rcd-page .node .t{font: 600 15px var(--f-display);}.rcd-page .node .s{font: 400 12px var(--f-body); fill: var(--muted);}.rcd-page .node .k{font: 500 10px var(--f-mono); letter-spacing: 0.12em;}.rcd-page .node.on rect.box{stroke-width: 2.5;}.rcd-page .node.rcd.on rect.box{stroke: var(--rcd); fill: var(--tint-rcd);}.rcd-page .node.cw.on rect.box{stroke: var(--cw); fill: var(--tint-cw);}.rcd-page .node.both.on rect.box{stroke: url(\"#bridgeGrad\"); fill: var(--tint-rcd);}.rcd-page .wire{stroke: var(--line); stroke-width: 2; fill: none;}.rcd-page .wire.on{stroke: var(--rcd); stroke-dasharray: 6, 6; animation: 1s linear 0s infinite normal none running dash;}.rcd-page .wire.on.back{stroke: var(--cw); animation-direction: reverse;}@keyframes dash { \n  100% { stroke-dashoffset: -24; }\n}.rcd-page .zone{font: 500 11px var(--f-mono); letter-spacing: 0.14em; fill: var(--muted);}.rcd-page .steps{display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 10px;}.rcd-page .step{color-scheme: unset; forced-color-adjust: unset; math-depth: unset; position: unset; position-anchor: unset; text-size-adjust: unset; appearance: unset; color: unset; font: unset; font-palette: unset; font-synthesis: unset; position-area: unset; text-orientation: unset; text-rendering: unset; text-spacing-trim: unset; -webkit-font-smoothing: unset; -webkit-locale: unset; -webkit-text-orientation: unset; -webkit-writing-mode: unset; writing-mode: unset; zoom: unset; accent-color: unset; place-content: unset; place-items: unset; place-self: unset; alignment-baseline: unset; anchor-name: unset; anchor-scope: unset; animation-composition: unset; animation: unset; animation-trigger: unset; app-region: unset; aspect-ratio: unset; backdrop-filter: unset; backface-visibility: unset; background: unset; background-blend-mode: unset; baseline-shift: unset; baseline-source: unset; block-size: unset; border-block: unset; border-collapse: unset; border-end-end-radius: unset; border-end-start-radius: unset; border-inline: unset; border-shape: unset; border-start-end-radius: unset; border-start-start-radius: unset; inset: unset; box-decoration-break: unset; box-shadow: unset; box-sizing: unset; break-after: unset; break-before: unset; break-inside: unset; buffered-rendering: unset; caption-side: unset; caret-animation: unset; caret-color: unset; caret-shape: unset; clear: unset; clip: unset; clip-path: unset; clip-rule: unset; color-interpolation: unset; color-interpolation-filters: unset; color-rendering: unset; columns: unset; column-fill: unset; rule-break: unset; rule: unset; rule-inset: unset; rule-visibility-items: unset; column-span: unset; contain: unset; contain-intrinsic-block-size: unset; contain-intrinsic-size: unset; contain-intrinsic-inline-size: unset; container: unset; content: unset; content-visibility: unset; corner-shape: unset; corner-block-end-shape: unset; corner-block-start-shape: unset; counter-increment: unset; counter-reset: unset; counter-set: unset; cx: unset; cy: unset; d: unset; dominant-baseline: unset; dynamic-range-limit: unset; -electron-corner-smoothing: unset; empty-cells: unset; field-sizing: unset; fill: unset; fill-opacity: unset; fill-rule: unset; filter: unset; flex: unset; flex-line-count: unset; flex-wrap: unset; float: unset; flood-color: unset; flood-opacity: unset; grid: unset; grid-area: unset; height: unset; hyphenate-character: unset; hyphenate-limit-chars: unset; hyphens: unset; image-orientation: unset; image-rendering: unset; initial-letter: unset; inline-size: unset; inset-block: unset; inset-inline: unset; interactivity: unset; interest-delay: unset; interpolate-size: unset; isolation: unset; letter-spacing: unset; lighting-color: unset; line-break: unset; list-style: unset; margin-block: unset; margin: unset; margin-inline: unset; marker: unset; mask: unset; mask-type: unset; math-shift: unset; math-style: unset; max-block-size: unset; max-height: unset; max-inline-size: unset; max-width: unset; min-block-size: unset; min-inline-size: unset; min-width: unset; mix-blend-mode: unset; object-fit: unset; object-position: unset; object-view-box: unset; offset: unset; opacity: unset; order: unset; orphans: unset; outline: unset; outline-offset: unset; overflow-anchor: unset; overflow-block: unset; overflow-clip-margin: unset; overflow-inline: unset; overflow-wrap: unset; overflow: unset; overlay: unset; overscroll-behavior-block: unset; overscroll-behavior-inline: unset; overscroll-behavior: unset; padding-block: unset; padding-inline: unset; page: unset; page-margin-safety: unset; page-orientation: unset; paint-order: unset; perspective: unset; perspective-origin: unset; pointer-events: unset; position-try: unset; position-visibility: unset; print-color-adjust: unset; quotes: unset; r: unset; reading-flow: unset; reading-order: unset; resize: unset; rotate: unset; ruby-align: unset; ruby-overhang: unset; ruby-position: unset; rule-overlap: unset; rx: unset; ry: unset; scale: unset; scroll-behavior: unset; scroll-initial-target: unset; scroll-margin-block: unset; scroll-margin: unset; scroll-margin-inline: unset; scroll-marker-group: unset; scroll-padding-block: unset; scroll-padding: unset; scroll-padding-inline: unset; scroll-snap-align: unset; scroll-snap-stop: unset; scroll-snap-type: unset; scroll-target-group: unset; scroll-timeline: unset; scrollbar-color: unset; scrollbar-gutter: unset; scrollbar-width: unset; shape-image-threshold: unset; shape-margin: unset; shape-outside: unset; shape-rendering: unset; size: unset; speak: unset; stop-color: unset; stop-opacity: unset; stroke: unset; stroke-dasharray: unset; stroke-dashoffset: unset; stroke-linecap: unset; stroke-linejoin: unset; stroke-miterlimit: unset; stroke-opacity: unset; stroke-width: unset; tab-size: unset; table-layout: unset; text-align: unset; text-align-last: unset; text-anchor: unset; text-autospace: unset; text-box: unset; text-combine-upright: unset; text-decoration: unset; text-decoration-skip-ink: unset; text-emphasis: unset; text-emphasis-position: unset; text-fit: unset; text-indent: unset; text-justify: unset; text-overflow: unset; text-shadow: unset; text-transform: unset; text-underline-offset: unset; text-underline-position: unset; text-wrap: unset; timeline-scope: unset; timeline-trigger: unset; touch-action: unset; transform: unset; transform-box: unset; transform-origin: unset; transform-style: unset; translate: unset; trigger-scope: unset; user-select: unset; vector-effect: unset; vertical-align: unset; view-timeline: unset; view-transition-class: unset; view-transition-group: unset; view-transition-name: unset; view-transition-scope: unset; visibility: unset; border-spacing: unset; -webkit-box-align: unset; -webkit-box-decoration-break: unset; -webkit-box-direction: unset; -webkit-box-flex: unset; -webkit-box-ordinal-group: unset; -webkit-box-orient: unset; -webkit-box-pack: unset; -webkit-box-reflect: unset; -webkit-line-break: unset; -webkit-line-clamp: unset; -webkit-mask-box-image: unset; -webkit-rtl-ordering: unset; -webkit-ruby-position: unset; -webkit-tap-highlight-color: unset; -webkit-text-combine: unset; -webkit-text-decorations-in-effect: unset; -webkit-text-fill-color: unset; -webkit-text-security: unset; -webkit-text-stroke: unset; -webkit-user-drag: unset; white-space-collapse: unset; widows: unset; width: unset; will-change: unset; window-drag: unset; word-break: unset; word-spacing: unset; x: unset; y: unset; z-index: unset; cursor: pointer; border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; min-height: 44px; transition: border-color 0.2s, background 0.2s;}.rcd-page .step:hover{border-color: var(--muted);}.rcd-page .step b{font: 500 11px var(--f-mono); letter-spacing: 0.1em; color: var(--muted);}.rcd-page .step span{font: 600 14px\/1.3 var(--f-display);}.rcd-page .step[aria-pressed=\"true\"]{border-color: var(--rcd); background-color: var(--tint-rcd);}.rcd-page .step[aria-pressed=\"true\"] b{color: var(--rcd-strong);}.rcd-page .step:focus-visible{outline: 2px solid var(--rcd); outline-offset: 2px;}.rcd-page .detail{display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; padding: 20px 22px; border-radius: 18px; background-color: var(--paper);}.rcd-page .detail .num{font: 700 40px\/1 var(--f-display); color: var(--rcd);}.rcd-page .detail h3{font-size: 19px;}.rcd-page .detail p{color: var(--muted); margin-top: 4px; max-width: 70ch;}.rcd-page .owner{font: 500 11px var(--f-mono); letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 10px; border-radius: 999px; white-space: nowrap;}.rcd-page .owner.rcd{background-color: var(--tint-rcd); color: var(--rcd-strong);}.rcd-page .owner.cw{background-color: var(--tint-cw); color: var(--cw);}.rcd-page .owner.both{background: linear-gradient(90deg,var(--tint-rcd),var(--tint-cw)); color: var(--fg);}.rcd-page .ctrls{display: flex; gap: 10px; justify-content: flex-end;}.rcd-page .btn{color-scheme: unset; forced-color-adjust: unset; math-depth: unset; position: unset; position-anchor: unset; text-size-adjust: unset; appearance: unset; color: unset; font-palette: unset; font-synthesis: unset; position-area: unset; text-orientation: unset; text-rendering: unset; text-spacing-trim: unset; -webkit-font-smoothing: unset; -webkit-locale: unset; -webkit-text-orientation: unset; -webkit-writing-mode: unset; writing-mode: unset; zoom: unset; accent-color: unset; place-content: unset; place-self: unset; alignment-baseline: unset; anchor-name: unset; anchor-scope: unset; animation-composition: unset; animation: unset; animation-trigger: unset; app-region: unset; aspect-ratio: unset; backdrop-filter: unset; backface-visibility: unset; background: unset; background-blend-mode: unset; baseline-shift: unset; baseline-source: unset; block-size: unset; border-block: unset; border-collapse: unset; border-end-end-radius: unset; border-end-start-radius: unset; border-inline: unset; border-shape: unset; border-start-end-radius: unset; border-start-start-radius: unset; inset: unset; box-decoration-break: unset; box-shadow: unset; box-sizing: unset; break-after: unset; break-before: unset; break-inside: unset; buffered-rendering: unset; caption-side: unset; caret-animation: unset; caret-color: unset; caret-shape: unset; clear: unset; clip: unset; clip-path: unset; clip-rule: unset; color-interpolation: unset; color-interpolation-filters: unset; color-rendering: unset; columns: unset; column-fill: unset; rule-break: unset; rule: unset; rule-inset: unset; rule-visibility-items: unset; column-span: unset; contain: unset; contain-intrinsic-block-size: unset; contain-intrinsic-size: unset; contain-intrinsic-inline-size: unset; container: unset; content: unset; content-visibility: unset; corner-shape: unset; corner-block-end-shape: unset; corner-block-start-shape: unset; counter-increment: unset; counter-reset: unset; counter-set: unset; cx: unset; cy: unset; d: unset; dominant-baseline: unset; dynamic-range-limit: unset; -electron-corner-smoothing: unset; empty-cells: unset; field-sizing: unset; fill: unset; fill-opacity: unset; fill-rule: unset; filter: unset; flex: unset; flex-flow: unset; flex-line-count: unset; float: unset; flood-color: unset; flood-opacity: unset; grid: unset; grid-area: unset; height: unset; hyphenate-character: unset; hyphenate-limit-chars: unset; hyphens: unset; image-orientation: unset; image-rendering: unset; initial-letter: unset; inline-size: unset; inset-block: unset; inset-inline: unset; interactivity: unset; interest-delay: unset; interpolate-size: unset; isolation: unset; justify-items: unset; letter-spacing: unset; lighting-color: unset; line-break: unset; list-style: unset; margin-block: unset; margin: unset; margin-inline: unset; marker: unset; mask: unset; mask-type: unset; math-shift: unset; math-style: unset; max-block-size: unset; max-height: unset; max-inline-size: unset; max-width: unset; min-block-size: unset; min-inline-size: unset; min-width: unset; mix-blend-mode: unset; object-fit: unset; object-position: unset; object-view-box: unset; offset: unset; opacity: unset; order: unset; orphans: unset; outline: unset; outline-offset: unset; overflow-anchor: unset; overflow-block: unset; overflow-clip-margin: unset; overflow-inline: unset; overflow-wrap: unset; overflow: unset; overlay: unset; overscroll-behavior-block: unset; overscroll-behavior-inline: unset; overscroll-behavior: unset; padding-block: unset; padding-inline: unset; page: unset; page-margin-safety: unset; page-orientation: unset; paint-order: unset; perspective: unset; perspective-origin: unset; pointer-events: unset; position-try: unset; position-visibility: unset; print-color-adjust: unset; quotes: unset; r: unset; reading-flow: unset; reading-order: unset; resize: unset; rotate: unset; ruby-align: unset; ruby-overhang: unset; ruby-position: unset; rule-overlap: unset; rx: unset; ry: unset; scale: unset; scroll-behavior: unset; scroll-initial-target: unset; scroll-margin-block: unset; scroll-margin: unset; scroll-margin-inline: unset; scroll-marker-group: unset; scroll-padding-block: unset; scroll-padding: unset; scroll-padding-inline: unset; scroll-snap-align: unset; scroll-snap-stop: unset; scroll-snap-type: unset; scroll-target-group: unset; scroll-timeline: unset; scrollbar-color: unset; scrollbar-gutter: unset; scrollbar-width: unset; shape-image-threshold: unset; shape-margin: unset; shape-outside: unset; shape-rendering: unset; size: unset; speak: unset; stop-color: unset; stop-opacity: unset; stroke: unset; stroke-dasharray: unset; stroke-dashoffset: unset; stroke-linecap: unset; stroke-linejoin: unset; stroke-miterlimit: unset; stroke-opacity: unset; stroke-width: unset; tab-size: unset; table-layout: unset; text-align: unset; text-align-last: unset; text-anchor: unset; text-autospace: unset; text-box: unset; text-combine-upright: unset; text-decoration: unset; text-decoration-skip-ink: unset; text-emphasis: unset; text-emphasis-position: unset; text-fit: unset; text-indent: unset; text-justify: unset; text-overflow: unset; text-shadow: unset; text-transform: unset; text-underline-offset: unset; text-underline-position: unset; text-wrap: unset; timeline-scope: unset; timeline-trigger: unset; touch-action: unset; transform: unset; transform-box: unset; transform-origin: unset; transform-style: unset; transition: unset; translate: unset; trigger-scope: unset; user-select: unset; vector-effect: unset; vertical-align: unset; view-timeline: unset; view-transition-class: unset; view-transition-group: unset; view-transition-name: unset; view-transition-scope: unset; visibility: unset; border-spacing: unset; -webkit-box-align: unset; -webkit-box-decoration-break: unset; -webkit-box-direction: unset; -webkit-box-flex: unset; -webkit-box-ordinal-group: unset; -webkit-box-orient: unset; -webkit-box-pack: unset; -webkit-box-reflect: unset; -webkit-line-break: unset; -webkit-line-clamp: unset; -webkit-mask-box-image: unset; -webkit-rtl-ordering: unset; -webkit-ruby-position: unset; -webkit-tap-highlight-color: unset; -webkit-text-combine: unset; -webkit-text-decorations-in-effect: unset; -webkit-text-fill-color: unset; -webkit-text-security: unset; -webkit-text-stroke: unset; -webkit-user-drag: unset; white-space-collapse: unset; widows: unset; width: unset; will-change: unset; window-drag: unset; word-break: unset; word-spacing: unset; x: unset; y: unset; z-index: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0px 18px; border-radius: 12px; font: 600 14px var(--f-body); border: 1px solid var(--line);}.rcd-page .btn.primary{background-color: var(--rcd-strong); color: rgb(255, 255, 255); border-color: transparent;}.rcd-page .btn:focus-visible{outline: 2px solid var(--rcd); outline-offset: 2px;}.rcd-page .split{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; background-color: var(--card);}.rcd-page .split > div{padding: 28px 30px; display: flex; flex-direction: column; gap: 16px; min-width: 0px;}.rcd-page .split > div + div{border-left: 1px solid var(--line);}.rcd-page .split h3{font-size: 18px; display: flex; align-items: center; gap: 10px;}.rcd-page .split h3 i{width: 10px; height: 10px; border-radius: 3px; display: block;}.rcd-page .split dl{margin: 0px; display: grid; grid-template-columns: minmax(0px, 1fr); gap: 12px;}.rcd-page .split dt{font: 600 15px var(--f-body);}.rcd-page .split dd{margin: 2px 0px 0px; color: var(--muted); font-size: 15px;}.rcd-page .contract{grid-column: 1 \/ -1; border-top: 1px solid var(--line); background-color: var(--paper); display: flex; flex-wrap: wrap; align-items: center; flex-direction: row !important; gap: 12px 24px !important;}.rcd-page .contract .eyebrow{color: var(--muted);}.rcd-page .contract span.pill{font: 500 13px var(--f-mono); padding: 6px 12px; border-radius: 10px; border: 1px solid var(--line); background-color: var(--card);}.rcd-page .gains{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px;}.rcd-page .gain{padding: 28px; border-radius: 22px; border: 1px solid var(--line); background-color: var(--card); display: flex; flex-direction: column; gap: 14px; min-width: 0px;}.rcd-page .gain .who{font: 500 12px var(--f-mono); letter-spacing: 0.12em; text-transform: uppercase;}.rcd-page .gain h3{font-size: 21px; line-height: 1.2;}.rcd-page .gain ul{margin: 0px; padding-left: 18px; color: var(--muted); display: flex; flex-direction: column; gap: 8px;}.rcd-page .compare{overflow-x: auto; border: 1px solid var(--line); border-radius: 22px; background-color: var(--card);}.rcd-page .compare table{width: 100%; border-collapse: collapse; min-width: 640px;}.rcd-page .compare th,.rcd-page .compare td{padding: 16px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); font-size: 15px;}.rcd-page .compare tr:last-child td{border-bottom: 0px;}.rcd-page .compare thead th{font: 500 12px var(--f-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); background-color: var(--paper);}.rcd-page .compare thead th.with{color: var(--rcd-strong);}.rcd-page .compare td:first-child{font-weight: 600; width: 24%;}.rcd-page .compare td.without{color: var(--muted);}.rcd-page .compare td.with{background: linear-gradient(90deg,var(--tint-rcd),transparent);}.rcd-page .close{background-color: var(--ink); color: var(--on-ink); background-image: linear-gradient(rgba(255, 255, 255, 0.043) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.043) 1px, transparent 1px); background-size: 40px 40px;}.rcd-page .close .wrap{padding-block: 72px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center;}.rcd-page .close h2{font-size: clamp(28px, 4vw, 42px); line-height: 1.1;}.rcd-page .close p{color: var(--on-ink-muted); margin-top: 14px; font-size: 17px;}.rcd-page .links{display: flex; flex-direction: column; gap: 12px;}.rcd-page .links a{display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.16); text-decoration: none; font: 600 16px var(--f-body); min-height: 44px; transition: border-color 0.2s, background 0.2s;}.rcd-page .links a:hover{background: rgba(255, 255, 255, 0.05);}.rcd-page .links a small{display: block; font: 500 12px var(--f-mono); color: var(--on-ink-muted); letter-spacing: 0.06em; margin-top: 2px;}.rcd-page .links a.r:hover{border-color: rgb(255, 138, 76);}.rcd-page .links a.c:hover{border-color: rgb(45, 212, 191);}.rcd-page footer{padding-block: 24px; font: 500 12px var(--f-mono); color: var(--muted);}@media (max-width: 900px){.rcd-page .hero .wrap,.rcd-page .close .wrap{grid-template-columns: 1fr;}.rcd-page .duo{grid-template-columns: 1fr;}.rcd-page .join span{transform: rotate(90deg);}.rcd-page .gains{grid-template-columns: 1fr;}.rcd-page .steps{grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; padding-bottom: 4px;}}@media (max-width: 640px){.rcd-page section{padding-block: 60px;}.rcd-page .split{grid-template-columns: 1fr;}.rcd-page .split > div + div{border-left: 0px; border-top: 1px solid var(--line);}.rcd-page .detail{grid-template-columns: auto 1fr;}.rcd-page .detail .owner{grid-column: 1 \/ -1; justify-self: start;}.rcd-page .flow{padding: 18px;}.rcd-page .ctrls{justify-content: stretch;}.rcd-page .ctrls .btn{flex: 1 1 0%; justify-content: center;}}@media (prefers-reduced-motion: reduce){.rcd-page *{animation: auto ease 0s 1 normal none running none !important; transition: none !important;}}<\/style><div class=\"rcd-page\"><header class=\"hero\"> <div class=\"wrap\"> <div> <p class=\"eyebrow\">Partnerschap \u00b7 Progress OpenEdge<\/p> <h1>RCD <span style=\"opacity:.5\">\u00d7<\/span> Consultingwerk<br><span class=\"grad\">\u00e9\u00e9n stack, van frontend tot backend<\/span><\/h1> <p class=\"lede\">Consultingwerk heeft ondersteuning voor het RCD-framework ingebouwd in de backend van de SmartComponent Library. De businesslogica blijft in de Business Entities van de SmartComponent Library. RCD zet daar een webfrontend bovenop, gebouwd door dezelfde OpenEdge-ontwikkelaars.<\/p> <div class=\"chips\"> <span class=\"chip\"><i style=\"background:#FF6B2C\"><\/i>RCD-webfrontend<\/span> <span class=\"chip\"><i style=\"background:#2DD4BF\"><\/i>SmartComponent Library-backend<\/span> <span class=\"chip\"><i style=\"background:#9AA3B8\"><\/i>PASOE \u00b7 ABL<\/span> <\/div> <\/div> <div class=\"hero-art\" aria-hidden=\"true\"> <svg viewBox=\"0 0 440 380\" fill=\"none\"> <defs> <linearGradient id=\"hg\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0\" stop-color=\"#FF6B2C\"><\/stop><stop offset=\".5\" stop-color=\"#FFB14A\"><\/stop><stop offset=\"1\" stop-color=\"#2DD4BF\"><\/stop><\/linearGradient> <\/defs> <g transform=\"translate(40 20)\"> <rect width=\"360\" height=\"110\" rx=\"18\" fill=\"#111729\" stroke=\"#FF6B2C\" stroke-opacity=\".7\"><\/rect> <rect x=\"16\" y=\"16\" width=\"328\" height=\"20\" rx=\"6\" fill=\"#FF6B2C\" fill-opacity=\".18\"><\/rect> <circle cx=\"28\" cy=\"26\" r=\"4\" fill=\"#FF6B2C\"><\/circle><rect x=\"40\" y=\"22\" width=\"60\" height=\"8\" rx=\"4\" fill=\"#FF8A4C\" fill-opacity=\".7\"><\/rect> <rect x=\"16\" y=\"46\" width=\"200\" height=\"8\" rx=\"4\" fill=\"#E7EAF3\" fill-opacity=\".25\"><\/rect> <rect x=\"16\" y=\"62\" width=\"200\" height=\"8\" rx=\"4\" fill=\"#E7EAF3\" fill-opacity=\".16\"><\/rect> <rect x=\"16\" y=\"78\" width=\"200\" height=\"8\" rx=\"4\" fill=\"#E7EAF3\" fill-opacity=\".16\"><\/rect> <rect x=\"232\" y=\"46\" width=\"112\" height=\"48\" rx=\"8\" fill=\"#FF6B2C\" fill-opacity=\".12\" stroke=\"#FF6B2C\" stroke-opacity=\".4\"><\/rect> <text x=\"288\" y=\"75\" fill=\"#FF8A4C\" font-family=\"JetBrains Mono,monospace\" font-size=\"11\" text-anchor=\"middle\">RCD-UI<\/text> <\/g> <g> <path d=\"M150 130 V176 M220 130 V176 M290 130 V176\" stroke=\"url(#hg)\" stroke-width=\"2.5\" stroke-dasharray=\"5 6\"> <animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-22\" dur=\"1.2s\" repeatCount=\"indefinite\"><\/animate> <\/path> <rect x=\"110\" y=\"168\" width=\"220\" height=\"40\" rx=\"20\" fill=\"#0A0E1A\" stroke=\"url(#hg)\" stroke-width=\"2\"><\/rect> <text x=\"220\" y=\"193\" fill=\"#E7EAF3\" font-family=\"Sora,sans-serif\" font-weight=\"600\" font-size=\"13\" text-anchor=\"middle\">ingebouwde RCD-ondersteuning<\/text> <path d=\"M150 208 V250 M220 208 V250 M290 208 V250\" stroke=\"url(#hg)\" stroke-width=\"2.5\" stroke-dasharray=\"5 6\"> <animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"22\" dur=\"1.2s\" repeatCount=\"indefinite\"><\/animate> <\/path> <\/g> <g transform=\"translate(40 250)\"> <rect width=\"360\" height=\"110\" rx=\"18\" fill=\"#111729\" stroke=\"#2DD4BF\" stroke-opacity=\".7\"><\/rect> <g fill=\"#2DD4BF\" fill-opacity=\".14\" stroke=\"#2DD4BF\" stroke-opacity=\".45\"> <rect x=\"16\" y=\"16\" width=\"100\" height=\"36\" rx=\"8\"><\/rect><rect x=\"130\" y=\"16\" width=\"100\" height=\"36\" rx=\"8\"><\/rect><rect x=\"244\" y=\"16\" width=\"100\" height=\"36\" rx=\"8\"><\/rect> <\/g> <g font-family=\"JetBrains Mono,monospace\" font-size=\"10\" fill=\"#5EEAD4\" text-anchor=\"middle\"> <text x=\"66\" y=\"38\">Entity<\/text><text x=\"180\" y=\"38\">Task<\/text><text x=\"294\" y=\"38\">Entity<\/text> <\/g> <rect x=\"16\" y=\"64\" width=\"328\" height=\"30\" rx=\"8\" fill=\"#E7EAF3\" fill-opacity=\".06\" stroke=\"#E7EAF3\" stroke-opacity=\".15\"><\/rect> <text x=\"180\" y=\"83\" fill=\"#9AA3B8\" font-family=\"JetBrains Mono,monospace\" font-size=\"11\" text-anchor=\"middle\">SmartComponent Library \u00b7 OpenEdge DB<\/text> <\/g> <\/svg> <\/div> <\/div> <\/header> <main> <section> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">Twee partners<\/p> <h2>Twee OpenEdge-specialisten, elk met een duidelijke rol<\/h2> <p>Beide bedrijven bouwen voor Progress OpenEdge en PASOE. Consultingwerk levert de backend-architectuur. RCD levert de webinterface.<\/p> <\/div> <div class=\"duo\"> <article class=\"party\"> <header> <span class=\"mark\" style=\"background:#FF6B2C\">RCD<\/span> <div><h3>Rapid Cloud Development<\/h3><span class=\"role\">De webfrontend<\/span><\/div> <\/header> <p>Een webontwikkelingsframework gemaakt voor OpenEdge-ontwikkelaars. Schermen worden declaratief gedefinieerd en draaien in de browser, terwijl de logica in ABL op PASOE blijft.<\/p> <ul> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#FF6B2C\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>Werkende webschermen in minuten, niet in dagen<\/li> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#FF6B2C\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>Gebruikt je bestaande 4GL- en PASOE-skills, zonder een JavaScript-framework te moeten leren<\/li> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#FF6B2C\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>Grids, formulieren, ribbons, parent-child-schermen en een AI-assistent<\/li> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#FF6B2C\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>Draait op je eigen servers, onder jouw controle<\/li> <\/ul> <div class=\"meta\"><span>Wilrijk, Belgi\u00eb<\/span><span>In productie bij Softpak ERP en BEA ERP<\/span><\/div> <\/article> <div class=\"join\" aria-hidden=\"true\"><span>\u00d7<\/span><\/div> <article class=\"party\"> <header> <span class=\"mark\" style=\"background:#0F8F86\">CW<\/span> <div><h3>Consultingwerk<\/h3><span class=\"role\">Het backendframework<\/span><\/div> <\/header> <p>Specialisten in het moderniseren van OpenEdge-applicaties. Hun SmartComponent Library is een full-stack framework dat de backend structureert in Business Entities en Business Tasks.<\/p> <ul> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#0F8F86\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>Business Entities bevatten de datatoegang, validatie en CRUD-logica<\/li> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#0F8F86\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>RESTful services gedocumenteerd met OpenAPI<\/li> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#0F8F86\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>Migratie naar OpenEdge 12 en PASOE, CI\/CD voor OpenEdge<\/li> <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3 8.5l3 3 7-7\" stroke=\"#0F8F86\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\"><\/path><\/svg>AI-modernisatie en ondersteuning voor MCP-servers<\/li> <\/ul> <div class=\"meta\"><span>Progress Service Delivery &amp; Technology Alliance Partner<\/span><\/div> <\/article> <\/div> <\/div> <\/section> <section style=\"padding-top:0\"> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">Hoe het samenwerkt<\/p> <h2>Volg \u00e9\u00e9n aanvraag van de browser tot de database<\/h2> <p>Kies een stap om te zien welke laag het werk doet en wie die levert.<\/p> <\/div> <div class=\"flow\"> <div class=\"diagram\"> <svg viewBox=\"0 0 980 250\" role=\"img\" aria-label=\"Verloop van een aanvraag: browser met RCD-scherm, RCD-endpoints op PASOE, de ingebouwde RCD-ondersteuning in de SmartComponent Library, Business Entities en Tasks, OpenEdge-database\"> <defs> <linearGradient id=\"bridgeGrad\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\"><stop offset=\"0\" stop-color=\"#FF6B2C\"><\/stop><stop offset=\"1\" stop-color=\"#2DD4BF\"><\/stop><\/linearGradient> <\/defs> <text class=\"zone\" x=\"20\" y=\"28\">BROWSER<\/text> <text class=\"zone\" x=\"214\" y=\"28\">PASOE \u00b7 RCD<\/text> <text class=\"zone\" x=\"408\" y=\"28\">INTEGRATIE<\/text> <text class=\"zone\" x=\"602\" y=\"28\">PASOE \u00b7 SMARTCOMPONENT LIBRARY<\/text> <text class=\"zone\" x=\"828\" y=\"28\">DATA<\/text> <path class=\"wire\" id=\"w1\" d=\"M176 125 H208\"><\/path> <path class=\"wire\" id=\"w2\" d=\"M370 125 H402\"><\/path> <path class=\"wire\" id=\"w3\" d=\"M564 125 H596\"><\/path> <path class=\"wire\" id=\"w4\" d=\"M790 125 H822\"><\/path> <g class=\"node rcd\" id=\"n1\"><rect class=\"box\" x=\"20\" y=\"50\" width=\"156\" height=\"150\" rx=\"16\"><\/rect> <text class=\"k\" x=\"36\" y=\"80\" fill=\"#FF6B2C\">RCD<\/text> <text class=\"t\" x=\"36\" y=\"108\">Webscherm<\/text> <text class=\"s\" x=\"36\" y=\"132\">Grid, formulier, ribbon<\/text> <text class=\"s\" x=\"36\" y=\"150\">opgebouwd uit zijn<\/text> <text class=\"s\" x=\"36\" y=\"168\">schermdefinitie<\/text><\/g> <g class=\"node rcd\" id=\"n2\"><rect class=\"box\" x=\"214\" y=\"50\" width=\"156\" height=\"150\" rx=\"16\"><\/rect> <text class=\"k\" x=\"230\" y=\"80\" fill=\"#FF6B2C\">RCD<\/text> <text class=\"t\" x=\"230\" y=\"108\">RCD-endpoints<\/text> <text class=\"s\" x=\"230\" y=\"132\">Recordset, opslaan,<\/text> <text class=\"s\" x=\"230\" y=\"150\">verwijderen en acties<\/text> <text class=\"s\" x=\"230\" y=\"168\">in ABL<\/text><\/g> <g class=\"node both\" id=\"n3\"><rect class=\"box\" x=\"408\" y=\"50\" width=\"156\" height=\"150\" rx=\"16\"><\/rect> <text class=\"k\" x=\"424\" y=\"80\" fill=\"url(#bridgeGrad)\">RCD \u00d7 CW<\/text> <text class=\"t\" x=\"424\" y=\"108\">RCD-ondersteuning<\/text> <text class=\"s\" x=\"424\" y=\"132\">Ingebouwd in de<\/text> <text class=\"s\" x=\"424\" y=\"150\">SmartComponent<\/text> <text class=\"s\" x=\"424\" y=\"168\">Library-backend<\/text><\/g> <g class=\"node cw\" id=\"n4\"><rect class=\"box\" x=\"602\" y=\"50\" width=\"188\" height=\"150\" rx=\"16\"><\/rect> <text class=\"k\" x=\"618\" y=\"80\" fill=\"#0F8F86\">CONSULTINGWERK<\/text> <text class=\"t\" x=\"618\" y=\"108\">Business Entities<\/text> <text class=\"s\" x=\"618\" y=\"132\">en Business Tasks:<\/text> <text class=\"s\" x=\"618\" y=\"150\">validatie, regels,<\/text> <text class=\"s\" x=\"618\" y=\"168\">datatoegang<\/text><\/g> <g class=\"node cw\" id=\"n5\"><rect class=\"box\" x=\"828\" y=\"50\" width=\"132\" height=\"150\" rx=\"16\"><\/rect> <text class=\"k\" x=\"844\" y=\"80\" fill=\"#0F8F86\">OPENEDGE<\/text> <text class=\"t\" x=\"844\" y=\"108\">Database<\/text> <text class=\"s\" x=\"844\" y=\"132\">Je bestaande<\/text> <text class=\"s\" x=\"844\" y=\"150\">schema, ongewijzigd<\/text><\/g> <text class=\"zone\" x=\"20\" y=\"232\" id=\"dirLabel\">\u2192 AANVRAAG<\/text> <\/svg> <\/div> <div class=\"steps\" role=\"group\" aria-label=\"Stappen van de aanvraag\"> <button class=\"step\" type=\"button\" id=\"s1\" data-i=\"0\"><b>STAP 1<\/b><span>Open een scherm<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s2\" data-i=\"1\"><b>STAP 2<\/b><span>Vraag data op<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s3\" data-i=\"2\"><b>STAP 3<\/b><span>Geef door aan de backend<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s4\" data-i=\"3\"><b>STAP 4<\/b><span>Pas de businesslogica toe<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s5\" data-i=\"4\"><b>STAP 5<\/b><span>Opslaan en valideren<\/span><\/button> <\/div> <div class=\"detail\" aria-live=\"polite\"> <span class=\"num\" id=\"dNum\">1<\/span> <div style=\"min-width:0\"><h3 id=\"dTitle\"><\/h3><p id=\"dText\"><\/p><\/div> <span class=\"owner\" id=\"dOwner\"><\/span> <\/div> <div class=\"ctrls\"> <button class=\"btn\" type=\"button\" id=\"prev\">\u2190 Vorige<\/button> <button class=\"btn primary\" type=\"button\" id=\"play\">Speel het verloop af<\/button> <\/div> <\/div> <\/div> <\/section> <section style=\"padding-top:0\"> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">Wie doet wat<\/p> <h2>Duidelijke verantwoordelijkheden aan elke kant<\/h2> <p>Elk framework blijft doen waar het goed in is. Dankzij de integratie werken ze samen zonder dat een van beide moet veranderen.<\/p> <\/div> <div class=\"split\"> <div> <h3><i style=\"background:#FF6B2C\"><\/i>RCD zorgt voor<\/h3> <dl> <div><dt>Schermen<\/dt><dd>Grids, detailformulieren, tabbladen en parent-child-layouts, gedefinieerd per scherm.<\/dd><\/div> <div><dt>Gebruikersinteractie<\/dt><dd>Ribbonacties, filteren, sorteren, paginering, lookups en UI-regels op veldniveau.<\/dd><\/div> <div><dt>De browser<\/dt><dd>Responsieve webclient, apparaatonafhankelijk, zonder plug-in of desktopinstallatie.<\/dd><\/div> <\/dl> <\/div> <div> <h3><i style=\"background:#0F8F86\"><\/i>SmartComponent Library zorgt voor<\/h3> <dl> <div><dt>Businesslogica<\/dt><dd>Business Entities en Business Tasks, met hun validatie en regels.<\/dd><\/div> <div><dt>Datatoegang<\/dt><dd>Leest en schrijft in de OpenEdge-database via de data-access-laag.<\/dd><\/div> <div><dt>Services<\/dt><dd>Dezelfde entities blijven naast RCD ook REST-, .NET- en andere clients bedienen.<\/dd><\/div> <\/dl> <\/div> <div class=\"contract\"> <span class=\"eyebrow\">Gemeenschappelijke basis<\/span> <span class=\"pill\">Progress OpenEdge<\/span><span class=\"pill\">PASOE<\/span><span class=\"pill\">ABL<\/span><span class=\"pill\">AI-ready<\/span> <\/div> <\/div> <\/div> <\/section> <section style=\"padding-top:0\"> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">Wat je krijgt<\/p> <h2>Voordelen voor iedereen in de stack<\/h2> <\/div> <div class=\"gains\"> <article class=\"gain\"> <span class=\"who\" style=\"color:var(--cw)\">Gebruikers van de SmartComponent Library<\/span> <h3>Een webfrontend voor de backend die je al hebt<\/h3> <ul> <li>Zet webschermen op bestaande Business Entities<\/li> <li>Je ABL-team bouwt de UI zonder apart JavaScript-team<\/li> <li>Validatie blijft op \u00e9\u00e9n plek: de backend<\/li> <\/ul> <\/article> <article class=\"gain\"> <span class=\"who\" style=\"color:var(--rcd-strong)\">RCD-gebruikers<\/span> <h3>Een beproefde backend-architectuur onder je schermen<\/h3> <ul> <li>Structureer businesslogica in Business Entities en Tasks<\/li> <li>Toegang tot de tooling van Consultingwerk: REST, OAuth2, telemetrie<\/li> <li>Deskundige hulp bij OpenEdge 12, PASOE en DevOps<\/li> <\/ul> <\/article> <article class=\"gain\"> <span class=\"who\" style=\"color:var(--ai)\">Softwareleveranciers en eindklanten<\/span> <h3>Moderniseer zonder opnieuw te beginnen<\/h3> <ul> <li>Behoud de database en de businesslogica die je vertrouwt<\/li> <li>Breng gebruikers stap voor stap naar de browser, scherm per scherm<\/li> <li>Beide partners bouwen op Progress en investeren in AI<\/li> <\/ul> <\/article> <\/div> <\/div> <\/section> <section style=\"padding-top:0\"> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">E\u00e9n webscherm bouwen<\/p> <h2>Een webscherm op een Business Entity zetten<\/h2> <\/div> <div class=\"compare\"> <table> <thead><tr><th scope=\"col\">Task<\/th><th scope=\"col\">Zonder de integratie<\/th><th scope=\"col\" class=\"with\">Met RCD \u00d7 Consultingwerk<\/th><\/tr><\/thead> <tbody> <tr><td>Frontend<\/td><td class=\"without\">Een aparte JavaScript-applicatie bouwen en onderhouden<\/td><td class=\"with\">Definieer het scherm in RCD<\/td><\/tr> <tr><td>Verbinden met data<\/td><td class=\"without\">Service-adapters schrijven en elk veld handmatig mappen<\/td><td class=\"with\">De ingebouwde RCD-ondersteuning verbindt het scherm met de Business Entity<\/td><\/tr> <tr><td>Validatie<\/td><td class=\"without\">Vaak dubbel in de frontend en de backend<\/td><td class=\"with\">Blijft in de Business Entity en wordt getoond op het RCD-formulier<\/td><\/tr> <tr><td>Benodigde skills<\/td><td class=\"without\">ABL plus een webframework, vaak twee teams<\/td><td class=\"with\">ABL en PASOE, \u00e9\u00e9n team<\/td><\/tr> <tr><td>Waar het draait<\/td><td class=\"without\">Extra webservers en build-pipelines<\/td><td class=\"with\">PASOE op je eigen servers<\/td><\/tr> <\/tbody> <\/table> <\/div> <\/div> <\/section> <\/main> <section class=\"close\"> <div class=\"wrap\"> <div> <h2>Klaar om het op je eigen applicatie te zien?<\/h2> <p>Contacteer RCD voor de webfrontend, of Consultingwerk voor de SmartComponent Library. Beide teams weten hoe de integratie werkt.<\/p> <\/div> <div class=\"links\"> <a class=\"r\" href=\"https:\/\/www.rapidclouddevelopment.com\/nl\/\" target=\"_blank\" rel=\"noopener\"><span>Rapid Cloud Development<small>rapidclouddevelopment.com<\/small><\/span><span aria-hidden=\"true\">\u2197<\/span><\/a> <a class=\"c\" href=\"https:\/\/www.consultingwerk.com\/\" target=\"_blank\" rel=\"noopener\"><span>Consultingwerk<small>consultingwerk.com<\/small><\/span><span aria-hidden=\"true\">\u2197<\/span><\/a> <\/div> <\/div> <\/section> <footer><div class=\"wrap\">RCD en Consultingwerk zijn aparte bedrijven. SmartComponent Library is een product van Consultingwerk.<\/div><\/footer> <script>\n(function(){\n  var steps=[\n    {t:\"De gebruiker opent een scherm\",d:\"RCD bouwt het webscherm op uit zijn schermdefinitie: de grid, het detailformulier en de ribbonacties. Er is geen eigen JavaScript nodig.\",o:\"rcd\",ol:\"RCD\",n:[1],w:[],back:false},\n    {t:\"Het scherm vraagt data op\",d:\"De browser roept de RCD-endpoints op PASOE aan met de filter, sorteervolgorde en pagina die de gebruiker wil zien.\",o:\"rcd\",ol:\"RCD\",n:[1,2],w:[1],back:false},\n    {t:\"De aanvraag gaat naar de backend\",d:\"De RCD-ondersteuning die in de SmartComponent Library is ingebouwd, neemt het over. Ze zet de RCD-aanvraag om in een call naar de juiste Business Entity.\",o:\"both\",ol:\"RCD \u00d7 Consultingwerk\",n:[2,3],w:[2],back:false},\n    {t:\"De Business Entity doet het werk\",d:\"De Business Entity leest de data via haar data-access-laag en past de businessregels toe. De records gaan daarna terug naar de RCD-grid.\",o:\"cw\",ol:\"Consultingwerk\",n:[3,4,5],w:[3,4],back:false},\n    {t:\"Opslaan, met validatie vanuit de backend\",d:\"Wanneer de gebruiker opslaat, gaan de wijzigingen langs dezelfde weg terug. De Business Entity valideert ze, en eventuele meldingen verschijnen bij de velden van het RCD-formulier.\",o:\"both\",ol:\"RCD \u00d7 Consultingwerk\",n:[1,2,3,4,5],w:[1,2,3,4],back:true}\n  ];\n  var cur=0,timer=null;\n  var btns=[].slice.call(document.querySelectorAll('.step'));\n  function show(i){\n    cur=i;var s=steps[i];\n    for(var k=1;k<=5;k++){document.getElementById('n'+k).classList.toggle('on',s.n.indexOf(k)>-1)}\n    for(var j=1;j<=4;j++){var w=document.getElementById('w'+j);w.classList.toggle('on',s.w.indexOf(j)>-1);w.classList.toggle('back',s.back)}\n    document.getElementById('dirLabel').textContent=s.back?'\u2190 RESPONSE & VALIDATION':'\u2192 AANVRAAG';\n    btns.forEach(function(b,bi){b.setAttribute('aria-pressed',bi===i?'true':'false')});\n    document.getElementById('dNum').textContent=i+1;\n    document.getElementById('dTitle').textContent=s.t;\n    document.getElementById('dText').textContent=s.d;\n    var o=document.getElementById('dOwner');o.className='owner '+s.o;o.textContent=s.ol;\n  }\n  function stop(){if(timer){clearInterval(timer);timer=null;document.getElementById('play').textContent='Speel het verloop af'}}\n  btns.forEach(function(b){b.addEventListener('click',function(){stop();show(+b.dataset.i)})});\n  document.getElementById('prev').addEventListener('click',function(){stop();show((cur+steps.length-1)%steps.length)});\n  document.getElementById('play').addEventListener('click',function(){\n    if(timer){stop();return}\n    this.textContent='Pause';show(0);\n    timer=setInterval(function(){if(cur>=steps.length-1){stop();return}show(cur+1)},2800);\n  });\n  show(0);\n})();\n<\/script> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Partnerschap \u00b7 Progress OpenEdge RCD \u00d7 Consultingwerk\u00e9\u00e9n stack, van frontend tot backend Consultingwerk heeft ondersteuning voor het RCD-framework ingebouwd in de backend van de SmartComponent Library. De businesslogica blijft in de Business Entities van de SmartComponent Library. RCD zet daar een webfrontend bovenop, gebouwd door dezelfde OpenEdge-ontwikkelaars. RCD-webfrontend SmartComponent Library-backend PASOE \u00b7 ABL RCD-UI ingebouwde [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-17738","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RCD &amp; Consultingwerk - Rapid Cloud Development<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RCD &amp; Consultingwerk - Rapid Cloud Development\" \/>\n<meta property=\"og:description\" content=\"Partnerschap \u00b7 Progress OpenEdge RCD \u00d7 Consultingwerk\u00e9\u00e9n stack, van frontend tot backend Consultingwerk heeft ondersteuning voor het RCD-framework ingebouwd in de backend van de SmartComponent Library. De businesslogica blijft in de Business Entities van de SmartComponent Library. RCD zet daar een webfrontend bovenop, gebouwd door dezelfde OpenEdge-ontwikkelaars. RCD-webfrontend SmartComponent Library-backend PASOE \u00b7 ABL RCD-UI ingebouwde [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/\" \/>\n<meta property=\"og:site_name\" content=\"Rapid Cloud Development\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-21T18:54:55+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/\",\"name\":\"RCD & Consultingwerk - Rapid Cloud Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/#website\"},\"datePublished\":\"2026-10-21T18:52:46+00:00\",\"dateModified\":\"2026-10-21T18:54:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/elementor-13972\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RCD &#038; Consultingwerk\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/#website\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/\",\"name\":\"Rapid Cloud Development\",\"description\":\"The first OpenEdge web development framework for small and medium-sized companies\",\"publisher\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/#organization\",\"name\":\"Rapid Cloud Development\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png\",\"contentUrl\":\"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png\",\"width\":501,\"height\":500,\"caption\":\"Rapid Cloud Development\"},\"image\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/nl\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RCD & Consultingwerk - Rapid Cloud Development","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/","og_locale":"nl_NL","og_type":"article","og_title":"RCD & Consultingwerk - Rapid Cloud Development","og_description":"Partnerschap \u00b7 Progress OpenEdge RCD \u00d7 Consultingwerk\u00e9\u00e9n stack, van frontend tot backend Consultingwerk heeft ondersteuning voor het RCD-framework ingebouwd in de backend van de SmartComponent Library. De businesslogica blijft in de Business Entities van de SmartComponent Library. RCD zet daar een webfrontend bovenop, gebouwd door dezelfde OpenEdge-ontwikkelaars. RCD-webfrontend SmartComponent Library-backend PASOE \u00b7 ABL RCD-UI ingebouwde [&hellip;]","og_url":"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/","og_site_name":"Rapid Cloud Development","article_modified_time":"2026-10-21T18:54:55+00:00","twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"4 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/","url":"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/","name":"RCD & Consultingwerk - Rapid Cloud Development","isPartOf":{"@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/#website"},"datePublished":"2026-10-21T18:52:46+00:00","dateModified":"2026-10-21T18:54:55+00:00","breadcrumb":{"@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/rcd-en-consultingwerk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rapidclouddevelopment.com\/nl\/elementor-13972\/"},{"@type":"ListItem","position":2,"name":"RCD &#038; Consultingwerk"}]},{"@type":"WebSite","@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/#website","url":"https:\/\/www.rapidclouddevelopment.com\/nl\/","name":"Rapid Cloud Development","description":"The first OpenEdge web development framework for small and medium-sized companies","publisher":{"@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rapidclouddevelopment.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/#organization","name":"Rapid Cloud Development","url":"https:\/\/www.rapidclouddevelopment.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png","contentUrl":"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png","width":501,"height":500,"caption":"Rapid Cloud Development"},"image":{"@id":"https:\/\/www.rapidclouddevelopment.com\/nl\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/pages\/17738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/comments?post=17738"}],"version-history":[{"count":1,"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/pages\/17738\/revisions"}],"predecessor-version":[{"id":17739,"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/pages\/17738\/revisions\/17739"}],"wp:attachment":[{"href":"https:\/\/www.rapidclouddevelopment.com\/nl\/wp-json\/wp\/v2\/media?parent=17738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}