{"id":17796,"date":"2026-10-21T19:18:16","date_gmt":"2026-10-21T19:18:16","guid":{"rendered":"https:\/\/www.rapidclouddevelopment.com\/?page_id=17796"},"modified":"2026-10-21T19:18:33","modified_gmt":"2026-10-21T19:18:33","slug":"rcd-y-consultingwerk","status":"publish","type":"page","link":"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-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\">Colaboraci\u00f3n \u00b7 Progress OpenEdge<\/p> <h1>RCD <span style=\"opacity:.5\">\u00d7<\/span> Consultingwerk<br><span class=\"grad\">un \u00fanico stack, de principio a fin<\/span><\/h1> <p class=\"lede\">Consultingwerk ha integrado el soporte para el marco RCD en el backend de la SmartComponent Library. La l\u00f3gica de negocio permanece en las Business Entities de la SmartComponent Library. RCD a\u00f1ade encima un front end web, creado por los mismos desarrolladores de OpenEdge.<\/p> <div class=\"chips\"> <span class=\"chip\"><i style=\"background:#FF6B2C\"><\/i>Front end web de RCD<\/span> <span class=\"chip\"><i style=\"background:#2DD4BF\"><\/i>Backend de SmartComponent Library<\/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\">soporte RCD integrado<\/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\">Dos socios<\/p> <h2>Dos especialistas en OpenEdge, cada uno con un papel claro<\/h2> <p>Ambas empresas desarrollan para Progress OpenEdge y PASOE. Consultingwerk aporta la arquitectura de backend. RCD aporta la interfaz web.<\/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\">El front end web<\/span><\/div> <\/header> <p>Un marco de desarrollo web creado para desarrolladores de OpenEdge. Las pantallas se definen de forma declarativa y se ejecutan en el navegador, mientras que la l\u00f3gica permanece en ABL sobre PASOE.<\/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>Pantallas web operativas en cuesti\u00f3n de minutos, en lugar de d\u00edas<\/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>Utiliza los conocimientos actuales de 4GL y PASOE, sin tener que aprender ning\u00fan framework de JavaScript<\/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, formularios, ribbons, pantallas padre-hijo y un asistente de IA<\/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>Se ejecuta en sus propios servidores, bajo su control<\/li> <\/ul> <div class=\"meta\"><span>Wilrijk, B\u00e9lgica<\/span><span>En producci\u00f3n en Softpak ERP y 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\">El marco de backend<\/span><\/div> <\/header> <p>Especialistas en la modernizaci\u00f3n de aplicaciones OpenEdge. Su SmartComponent Library es un marco full-stack que estructura el backend en Business Entities y 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>Las Business Entities contienen el acceso a datos, la validaci\u00f3n y la l\u00f3gica CRUD<\/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>Servicios RESTful documentados con 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>Migraci\u00f3n a OpenEdge 12 y PASOE, CI\/CD para 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>Modernizaci\u00f3n con IA y soporte para servidores MCP<\/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\">C\u00f3mo encaja todo<\/p> <h2>Siga una solicitud desde el navegador hasta la base de datos<\/h2> <p>Elija un paso para ver qu\u00e9 capa realiza el trabajo y qui\u00e9n la proporciona.<\/p> <\/div> <div class=\"flow\"> <div class=\"diagram\"> <svg viewBox=\"0 0 980 250\" role=\"img\" aria-label=\"Flujo de una solicitud: navegador con pantalla RCD, endpoints RCD en PASOE, el soporte RCD integrado en la SmartComponent Library, Business Entities y Business Tasks, base de datos OpenEdge\"> <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\">NAVEGADOR<\/text> <text class=\"zone\" x=\"214\" y=\"28\">PASOE \u00b7 RCD<\/text> <text class=\"zone\" x=\"408\" y=\"28\">INTEGRACI\u00d3N<\/text> <text class=\"zone\" x=\"602\" y=\"28\">PASOE \u00b7 SMARTCOMPONENT LIBRARY<\/text> <text class=\"zone\" x=\"828\" y=\"28\">DATOS<\/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\">Pantalla web<\/text> <text class=\"s\" x=\"36\" y=\"132\">Grid, formulario, ribbon<\/text> <text class=\"s\" x=\"36\" y=\"150\">generados a partir de su<\/text> <text class=\"s\" x=\"36\" y=\"168\">definici\u00f3n de pantalla<\/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\">Endpoints RCD<\/text> <text class=\"s\" x=\"230\" y=\"132\">Record set, guardar,<\/text> <text class=\"s\" x=\"230\" y=\"150\">eliminar y acciones<\/text> <text class=\"s\" x=\"230\" y=\"168\">en 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\">Soporte RCD<\/text> <text class=\"s\" x=\"424\" y=\"132\">Integrado en el backend<\/text> <text class=\"s\" x=\"424\" y=\"150\">de la SmartComponent<\/text> <text class=\"s\" x=\"424\" y=\"168\">Library<\/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\">y Business Tasks:<\/text> <text class=\"s\" x=\"618\" y=\"150\">validaci\u00f3n, reglas,<\/text> <text class=\"s\" x=\"618\" y=\"168\">acceso a datos<\/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\">Base de datos<\/text> <text class=\"s\" x=\"844\" y=\"132\">Su esquema<\/text> <text class=\"s\" x=\"844\" y=\"150\">existente, sin cambios<\/text><\/g> <text class=\"zone\" x=\"20\" y=\"232\" id=\"dirLabel\">\u2192 SOLICITUD<\/text> <\/svg> <\/div> <div class=\"steps\" role=\"group\" aria-label=\"Pasos de la solicitud\"> <button class=\"step\" type=\"button\" id=\"s1\" data-i=\"0\"><b>PASO 1<\/b><span>Abrir una pantalla<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s2\" data-i=\"1\"><b>PASO 2<\/b><span>Solicitar datos<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s3\" data-i=\"2\"><b>PASO 3<\/b><span>Pasar al backend<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s4\" data-i=\"3\"><b>PASO 4<\/b><span>Aplicar la l\u00f3gica de negocio<\/span><\/button> <button class=\"step\" type=\"button\" id=\"s5\" data-i=\"4\"><b>PASO 5<\/b><span>Guardar y validar<\/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 Anterior<\/button> <button class=\"btn primary\" type=\"button\" id=\"play\">Reproducir el flujo<\/button> <\/div> <\/div> <\/div> <\/section> <section style=\"padding-top:0\"> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">Qui\u00e9n hace qu\u00e9<\/p> <h2>Responsabilidades claras en cada lado<\/h2> <p>Cada marco sigue haciendo lo que mejor sabe hacer. La integraci\u00f3n permite que trabajen juntos sin que ninguno de los dos tenga que cambiar.<\/p> <\/div> <div class=\"split\"> <div> <h3><i style=\"background:#FF6B2C\"><\/i>RCD se encarga de<\/h3> <dl> <div><dt>Pantallas<\/dt><dd>Grids, formularios de detalle, pesta\u00f1as y layouts padre-hijo, definidos por pantalla.<\/dd><\/div> <div><dt>Interacci\u00f3n con el usuario<\/dt><dd>Acciones de ribbon, filtrado, ordenaci\u00f3n, paginaci\u00f3n, b\u00fasquedas y reglas UI a nivel de campo.<\/dd><\/div> <div><dt>El navegador<\/dt><dd>Cliente web responsive, independiente del dispositivo, sin plugins ni instalaci\u00f3n de escritorio.<\/dd><\/div> <\/dl> <\/div> <div> <h3><i style=\"background:#0F8F86\"><\/i>SmartComponent Library se encarga de<\/h3> <dl> <div><dt>L\u00f3gica de negocio<\/dt><dd>Business Entities y Business Tasks, con su validaci\u00f3n y sus reglas.<\/dd><\/div> <div><dt>Acceso a datos<\/dt><dd>Lee y escribe en la base de datos OpenEdge a trav\u00e9s de la capa de acceso a datos.<\/dd><\/div> <div><dt>Servicios<\/dt><dd>Las mismas entidades siguen dando servicio a clientes REST, .NET y otros, junto con RCD.<\/dd><\/div> <\/dl> <\/div> <div class=\"contract\"> <span class=\"eyebrow\">Terreno com\u00fan<\/span> <span class=\"pill\">Progress OpenEdge<\/span><span class=\"pill\">PASOE<\/span><span class=\"pill\">ABL<\/span><span class=\"pill\">Preparado para la IA<\/span> <\/div> <\/div> <\/div> <\/section> <section style=\"padding-top:0\"> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">Qu\u00e9 obtiene<\/p> <h2>Ventajas para todos en el stack<\/h2> <\/div> <div class=\"gains\"> <article class=\"gain\"> <span class=\"who\" style=\"color:var(--cw)\">Usuarios de SmartComponent Library<\/span> <h3>Un front end web para el backend que ya tiene<\/h3> <ul> <li>A\u00f1ada pantallas web a las Business Entities existentes<\/li> <li>Su equipo de ABL crea la interfaz sin necesidad de un equipo de JavaScript aparte<\/li> <li>La validaci\u00f3n permanece en un \u00fanico lugar: el backend<\/li> <\/ul> <\/article> <article class=\"gain\"> <span class=\"who\" style=\"color:var(--rcd-strong)\">Usuarios de RCD<\/span> <h3>Una arquitectura de backend probada bajo sus pantallas<\/h3> <ul> <li>Estructure la l\u00f3gica de negocio en Business Entities y Business Tasks<\/li> <li>Acceso a las herramientas de Consultingwerk: REST, OAuth2, telemetr\u00eda<\/li> <li>Asesoramiento experto en OpenEdge 12, PASOE y DevOps<\/li> <\/ul> <\/article> <article class=\"gain\"> <span class=\"who\" style=\"color:var(--ai)\">Proveedores de software y clientes finales<\/span> <h3>Modernice sin empezar de cero<\/h3> <ul> <li>Conserve la base de datos y la l\u00f3gica de negocio en las que conf\u00eda<\/li> <li>Lleve a los usuarios al navegador paso a paso, pantalla a pantalla<\/li> <li>Ambos socios desarrollan sobre Progress e invierten en IA<\/li> <\/ul> <\/article> <\/div> <\/div> <\/section> <section style=\"padding-top:0\"> <div class=\"wrap\"> <div class=\"sec-head\"> <p class=\"eyebrow\">Crear una pantalla web<\/p> <h2>A\u00f1adir una pantalla web a una Business Entity<\/h2> <\/div> <div class=\"compare\"> <table> <thead><tr><th scope=\"col\">Task<\/th><th scope=\"col\">Sin la integraci\u00f3n<\/th><th scope=\"col\" class=\"with\">Con RCD \u00d7 Consultingwerk<\/th><\/tr><\/thead> <tbody> <tr><td>Front end<\/td><td class=\"without\">Crear y mantener una aplicaci\u00f3n JavaScript independiente<\/td><td class=\"with\">Definir la pantalla en RCD<\/td><\/tr> <tr><td>Conexi\u00f3n a los datos<\/td><td class=\"without\">Escribir adaptadores de servicio y asignar cada campo a mano<\/td><td class=\"with\">El soporte RCD integrado conecta la pantalla con la Business Entity<\/td><\/tr> <tr><td>Validaci\u00f3n<\/td><td class=\"without\">A menudo duplicada en el front end y en el backend<\/td><td class=\"with\">Permanece en la Business Entity y se muestra en el formulario RCD<\/td><\/tr> <tr><td>Conocimientos necesarios<\/td><td class=\"without\">ABL m\u00e1s un framework web, a menudo dos equipos<\/td><td class=\"with\">ABL y PASOE, un solo equipo<\/td><\/tr> <tr><td>D\u00f3nde se ejecuta<\/td><td class=\"without\">Servidores web y pipelines de compilaci\u00f3n adicionales<\/td><td class=\"with\">PASOE en sus propios servidores<\/td><\/tr> <\/tbody> <\/table> <\/div> <\/div> <\/section> <\/main> <section class=\"close\"> <div class=\"wrap\"> <div> <h2>\u00bfQuiere verlo en su propia aplicaci\u00f3n?<\/h2> <p>Contacte con RCD para el front end web o con Consultingwerk para la SmartComponent Library. Ambos equipos conocen el funcionamiento de la integraci\u00f3n.<\/p> <\/div> <div class=\"links\"> <a class=\"r\" href=\"https:\/\/www.rapidclouddevelopment.com\/es\/\" 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 y Consultingwerk son empresas independientes. SmartComponent Library es un producto de Consultingwerk.<\/div><\/footer> <script>\n(function(){\n  var steps=[\n    {t:\"El usuario abre una pantalla\",d:\"RCD genera la pantalla web a partir de su definici\u00f3n de pantalla: el grid, el formulario de detalle y las acciones de la ribbon. No se necesita JavaScript personalizado.\",o:\"rcd\",ol:\"RCD\",n:[1],w:[],back:false},\n    {t:\"La pantalla solicita datos\",d:\"El navegador llama a los endpoints RCD en PASOE con el filtro, el orden y la p\u00e1gina que el usuario quiere ver.\",o:\"rcd\",ol:\"RCD\",n:[1,2],w:[1],back:false},\n    {t:\"La solicitud pasa al backend\",d:\"El soporte RCD integrado en la SmartComponent Library toma el relevo. Convierte la solicitud de RCD en una llamada a la Business Entity correspondiente.\",o:\"both\",ol:\"RCD \u00d7 Consultingwerk\",n:[2,3],w:[2],back:false},\n    {t:\"La Business Entity realiza el trabajo\",d:\"La Business Entity lee los datos a trav\u00e9s de su capa de acceso a datos y aplica las reglas de negocio. Despu\u00e9s, los registros vuelven al grid de RCD.\",o:\"cw\",ol:\"Consultingwerk\",n:[3,4,5],w:[3,4],back:false},\n    {t:\"Guardar, con validaci\u00f3n desde el backend\",d:\"Cuando el usuario guarda, los cambios vuelven por el mismo camino. La Business Entity los valida y los mensajes que haya aparecen en los campos del formulario RCD.\",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 SOLICITUD';\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='Reproducir el flujo'}}\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>Colaboraci\u00f3n \u00b7 Progress OpenEdge RCD \u00d7 Consultingwerkun \u00fanico stack, de principio a fin Consultingwerk ha integrado el soporte para el marco RCD en el backend de la SmartComponent Library. La l\u00f3gica de negocio permanece en las Business Entities de la SmartComponent Library. RCD a\u00f1ade encima un front end web, creado por los mismos desarrolladores de [&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-17796","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\/es\/rcd-y-consultingwerk\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\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=\"Colaboraci\u00f3n \u00b7 Progress OpenEdge RCD \u00d7 Consultingwerkun \u00fanico stack, de principio a fin Consultingwerk ha integrado el soporte para el marco RCD en el backend de la SmartComponent Library. La l\u00f3gica de negocio permanece en las Business Entities de la SmartComponent Library. RCD a\u00f1ade encima un front end web, creado por los mismos desarrolladores de [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/\" \/>\n<meta property=\"og:site_name\" content=\"Rapid Cloud Development\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-21T19:18:33+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/\",\"name\":\"RCD & Consultingwerk - Rapid Cloud Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/#website\"},\"datePublished\":\"2026-10-21T19:18:16+00:00\",\"dateModified\":\"2026-10-21T19:18:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.rapidclouddevelopment.com\/es\/home\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RCD &#038; Consultingwerk\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/#website\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/es\/\",\"name\":\"Rapid Cloud Development\",\"description\":\"The first OpenEdge web development framework for small and medium-sized companies\",\"publisher\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.rapidclouddevelopment.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/#organization\",\"name\":\"Rapid Cloud Development\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/es\/#\/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\/es\/#\/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\/es\/rcd-y-consultingwerk\/","og_locale":"es_ES","og_type":"article","og_title":"RCD & Consultingwerk - Rapid Cloud Development","og_description":"Colaboraci\u00f3n \u00b7 Progress OpenEdge RCD \u00d7 Consultingwerkun \u00fanico stack, de principio a fin Consultingwerk ha integrado el soporte para el marco RCD en el backend de la SmartComponent Library. La l\u00f3gica de negocio permanece en las Business Entities de la SmartComponent Library. RCD a\u00f1ade encima un front end web, creado por los mismos desarrolladores de [&hellip;]","og_url":"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/","og_site_name":"Rapid Cloud Development","article_modified_time":"2026-10-21T19:18:33+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/","url":"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/","name":"RCD & Consultingwerk - Rapid Cloud Development","isPartOf":{"@id":"https:\/\/www.rapidclouddevelopment.com\/es\/#website"},"datePublished":"2026-10-21T19:18:16+00:00","dateModified":"2026-10-21T19:18:33+00:00","breadcrumb":{"@id":"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.rapidclouddevelopment.com\/es\/rcd-y-consultingwerk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rapidclouddevelopment.com\/es\/home\/"},{"@type":"ListItem","position":2,"name":"RCD &#038; Consultingwerk"}]},{"@type":"WebSite","@id":"https:\/\/www.rapidclouddevelopment.com\/es\/#website","url":"https:\/\/www.rapidclouddevelopment.com\/es\/","name":"Rapid Cloud Development","description":"The first OpenEdge web development framework for small and medium-sized companies","publisher":{"@id":"https:\/\/www.rapidclouddevelopment.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rapidclouddevelopment.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.rapidclouddevelopment.com\/es\/#organization","name":"Rapid Cloud Development","url":"https:\/\/www.rapidclouddevelopment.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.rapidclouddevelopment.com\/es\/#\/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\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/pages\/17796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/comments?post=17796"}],"version-history":[{"count":1,"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/pages\/17796\/revisions"}],"predecessor-version":[{"id":17798,"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/pages\/17796\/revisions\/17798"}],"wp:attachment":[{"href":"https:\/\/www.rapidclouddevelopment.com\/es\/wp-json\/wp\/v2\/media?parent=17796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}