Appian Rocks dives deep into designing process-driving applications. Listen to three guys who made it their mission to design the best solutions possible using Appian.
You can look forward to: Design deep dives, BPM philosophy, software engineering, version reviews and interviews with a varied cast of guests.
All content for Appian Rocks is the property of Stefan Helzle and is served directly from their servers
with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
Appian Rocks dives deep into designing process-driving applications. Listen to three guys who made it their mission to design the best solutions possible using Appian.
You can look forward to: Design deep dives, BPM philosophy, software engineering, version reviews and interviews with a varied cast of guests.
In the latest "Appian Rocks" podcast, host Stefan, Sandro, and Marcel discussed managing external data models in Appian. They focused on Data Transfer Objects (DTOs) for abstracting and transferring data between incompatible systems. Marcel, a solution architect, highlighted the challenge of integrating external data, whether from microservices or legacy systems, and questioned forcing a single business object model across an enterprise.
The conversation explored communication methods and the common scenario of Appian performing internal data transformations. Stefan emphasized that Appian often needs only a subset of external data. Marcel explained that a central translation layer for DTOs could consolidate logic, preventing widespread changes if a DTO evolves. They also mentioned API composition and anti-corruption layers (ACLs), which facilitate communication between systems using their own data models, with translation in the middle. Marcel likened DTOs to "DHL packages" for data, while ACLs help reduce transferred information, adhering to the "need-to-know" principle.
Stefan pointed out the fundamental difference between process-driven Appian systems and data-storing backends. Marcel added that highly normalized external data might require denormalization for Appian UI performance. They also covered various forms of coupling, including data format, interaction style, semantics, order of operations, network location, temporal coupling, and network topology. Stefan shared an anecdote about time zone issues causing data discrepancies.
Sandro presented a "war story" about enriching read-only external customer data. Stefan immediately suggested Appian's sync records as a solution for creating cached local copies and enhancing query speed. Marcel agreed, comparing it to a materialized view. When Sandro revealed that API-based integrations across multiple unreliable source systems led to instability, Marcel proposed an API Composer service with caching and retry mechanisms. Stefan countered that Appian's synced records can now handle unsuccessful or partial syncs.
They concluded that data duplication is a pragmatic approach, especially for low-priority reference data or when sensitive data shouldn't reside directly in Appian. While reliable software is costly, local data duplication can be a cost-effective solution for individual applications. The crucial factor for data duplication is ensuring awareness of changes to keep the cached data current. Marcel, despite his skepticism, acknowledged that synced records effectively solve common problems in an approachable way, aligning with Appian's platform philosophy.
Appian Rocks
Appian Rocks dives deep into designing process-driving applications. Listen to three guys who made it their mission to design the best solutions possible using Appian.
You can look forward to: Design deep dives, BPM philosophy, software engineering, version reviews and interviews with a varied cast of guests.