Designer’s Philosophy · Yang's EA Story

Why WanOne models the enterprise before it generates software

Here I share the thinking behind WanOne: how I understand enterprise architecture, the design choices I believe matter, and how those ideas have developed from my paper into a product.

Voice
Yang's View
Sequence
Business meaning → implementation → generated systems

When My EA Experience Met AI

The idea behind WanOne grew out of many years of Enterprise Architecture work and a question we had been discussing for a long time: if Enterprise Architecture can describe how a business should work and how IT should support it, could that architecture eventually be turned into working systems? That question became even more compelling as AI opened up new possibilities.

Over the past 15 years, much of my work has been in enterprise architecture, business and data modeling, application and data architecture, and large-scale banking transformation. That experience gave me a practical view of how business architecture can connect all the way through to implementation.

Last summer, we began exploring this possibility more seriously. By last fall, those discussions had developed into the paper EA2SysGenAI: A Generative AI for Automated Enterprise System Generation, which helped make the architecture and the overall approach much clearer.

End-to-end enterprise architecture framework from Yang's earlier paper: business glossary, data standards, and data model connect to capabilities, processes, services, and IT architecture.
End-to-End Enterprise Architecture Framework, from Yang's earlier paper.

At its core, the framework connects Business Architecture to IT Architecture, so business data, processes, and services are not modeled in isolation but progressively translated into applications, data platforms, and system implementations. The key idea is that Enterprise Architecture can become more than documentation — it can become the structured foundation from which systems are generated.

From there, I started turning the idea into a real product. Business Architecture became the foundation of the metamodel, defining how business data, processes, capabilities, services, and their relationships could be represented in a structured and machine-interpretable form.

The next challenge was how AI should participate in both directions: helping users author and refine the EA model, and interpreting that model to generate software. This went through many iterations, while AI models and development tools were also evolving rapidly and accelerating what became possible.

After continuously refining the metamodel, the architecture, and the generation approach, we are finally able to bring WanOne to life.

01 · Position

WanOne is not starting from code

I want to present some concepts about this WanOne AI product. Eventually we can use these concepts to clarify why enterprises need Enterprise Architecture, and what each layer means. The story should go from outside to inside, step by step.

“Business data defines the destination. Business processes define the journey. Application architecture decides how computer systems will make that journey executable.”

This is the center of the design. WanOne is not trying to generate disconnected screens, random APIs, or isolated database tables. It tries to describe the enterprise first, then let system generation follow the enterprise model.

02 · Business Architecture

Business Architecture existed before information technology

“Business Architecture is quite interesting. I suppose it has been mentioned more often in the information age. However, my understanding is that Business Architecture existed long before the information technology era. People were already centralizing and organizing functions from different kinds of daily work. For example, governments created treasury departments, shops specialized in producing and selling food, and manufacturers specialized in producing products. In a way, these practices already reflected Business Architecture principles by abstracting, grouping, and centralizing certain business functions. If you were running a business and providing products or services, this kind of abstraction and centralization was already a form of Business Architecture.”

Information systems did not create Business Architecture. They digitized it. An information system usually has a database, a UI, and business logic. Users interact with the database through the UI, but the deeper structure already belongs to the business.

“Business Architecture is essentially about summarizing and abstracting functionality from many different functions and areas into a clearer structure that serves customer requirements. Two important concepts behind this are generalization and specialization.”

Generalization identifies similar business functions and represents them as a shared higher-level capability. Specialization lets each business area apply its own rules, data, process, and responsibilities. WanOne uses this balance as the starting point before moving into data, process, service, application, and generation.

03 · Business Data Modeling

The Business Data Model is the container and destination of the enterprise

“A lot of people have experience with data modeling, but most of that work is application data modeling for a specific application. From an Enterprise Architecture perspective, Business Data Modeling is different. We may use similar data modeling techniques, but the purpose, scope, and expected outcome are different.”

Application data modeling asks how one system should store and process data. Business Data Modeling asks what information the enterprise actually manages, independent of one application’s timing, transaction, performance, or physical database concerns.

“Business Data Modeling defines a well-organized container and a clear destination for business information. Its purpose is to establish how business data should be defined, structured, and related across the enterprise. Ultimately, all business information should be represented within this data model in a consistent and organized way. Without a well-organized data model, AI may generate software faster while making enterprise data increasingly fragmented. The Business Data Model provides the foundation that defines and stabilizes this destination, keeping every AI-generated application aligned with consistent business meaning, structure, and relationships.”

WanOne organizes that container into A, B, and C models. A Model defines data concepts. B Model defines subject areas. C Model defines data entities. This is where generalization mostly happens. Specialization usually appears later, in application design, where a specific system implements part of the enterprise model.

Designer note

The Business Data Model provides a structured representation of the business through its data and relationships. The Application Data Model describes how a software system implements selected parts of that business.

04 · Enterprise reuse

Generalization is powerful, but it is a double-edged sword

“In banking, a bank may operate many different packaged systems, such as deposit management, loan management, credit card, trade finance, mobile banking, ATM, financial management, management accounting, and risk management. At the application level, each system may define and manage its own version of customer data. As a result, customer management can appear repeatedly across deposit, loan, credit card, collateral, and trade systems. From an Enterprise Architecture perspective, however, Customer, or more fundamentally Person and Organization, should be treated as shared business entities rather than being defined independently by multiple applications.”

From the point of view of each package, duplicated customer logic may be reasonable. Each package was designed to support its business independently. From an enterprise view, however, the same business concept appears in too many places with different meanings, rules, and data structures.

“Enterprise Architecture uses generalization and specialization to redefine business functionality. However, generalization should not be taken too far. For example, Banking Account across deposits, credit cards, loans, and internal accounts may appear to be the same capability at a high level, but it may not be good architecture to centralize all of them into a single function or system.”

The architect must balance reuse and autonomy. This decision needs business experience, IT experience, data modeling experience, application design experience, and the ability to foresee the consequences. WanOne can help discover patterns, but architectural judgment still matters.

05 · Business Process Modeling

Process is the action that manipulates business data

“Business Process Re-engineering often involves the generalization of business functionality. It provides an opportunity to identify similar or overlapping business processes and reorganize them more effectively. However, the core is still business data, because ultimately the outcomes of business activities are captured and represented as data.”

In WanOne, data is the destination and process is the action that manipulates data. Orders are created, customers are registered, payments are processed, products are delivered, and reports are generated. These actions change the state of enterprise information.

“This approach is not created from scratch. It is based on experience from previous Enterprise Architecture consulting projects, IBM EA methodology, and established enterprise modeling practices. WanOne uses the platform and AI to accelerate both the EA model formation and system generation.”

Business Process Modeling gives WanOne the operational structure of the enterprise. It connects business data to business action, and later to generated workflows, screens, services, APIs, validations, and database operations.

06 · Process layers

L0 to L5 move from business landscape to executable step

WanOne divides Business Process Modeling into six layers. L0 is the business domain layer or enterprise landscape. L1 is a more detailed business domain. L2 is the value chain: what the domain plans, executes, monitors, controls, and reports to achieve a business goal.

“L3 Business Activity is similar to a functional module, but at the business level. We summarize and abstract functionality from business capabilities and business data into Business Activities. At L3, we intentionally disregard product features, customer types, and channels. The focus is on identifying the stable and reusable business functionality.”

L3 is generalized capability. For example, Deposit Management should not be duplicated just because there are retail customers, corporate customers, savings accounts, GICs, checking accounts, branches, mobile banking, online banking, or ATMs. Those variations matter, but not at L3.

“L4 represents the Business Process. In the UI, it is presented as a swimlane diagram. At L4, we bring back the factors intentionally disregarded at L3, such as customer type, product, channel, and operational procedures. These factors shape how a Business Activity is actually performed. For example, different channels may require different business processes.”

L4 specializes the L3 capability into specific process scenarios. Some L4 processes need UI because the user or customer interacts with screens to manipulate business data. Other L4 processes are backend processes: a command, event, schedule, or external call starts the work, and the backend performs steps until data is stored and an outcome is produced.

“L5 is the most detailed business process layer. For each Business Step, you specify what business data is read, queried, created, updated, saved, or deleted. In other words, L5 defines the CRUD interactions between each Business Step and the relevant business data entities and attributes.”

L5 is the executable business specification. It defines what each step does and how that step changes business data. Without this layer, system generation would only know the drawing of a process, not the data behavior required to make it run.

07 · Business Services

Business Services are generated from data plus process

“If you define the Business Data Model, the Business Processes, and how each Business Step manipulates the data, then, as long as the data definitions and business actions are correct, the Business Services can be generated automatically.”

Business Services are not the starting point. They are the result of the Enterprise Architecture. The service boundary often appears where a business domain and a data subject area meet. The domain is the functional view. The B Model subject area is the data view. They are two sides of the same coin.

“A Business Service can also be viewed as a Business Capability, because it represents the ability to perform something. In object-oriented design, an object contains attributes and methods. Similarly, in the business world, business data is like the attributes, while a business service is like the method that operates on that data.”

In IT implementation, this business service may become an API, a backend service, a workflow step, an event handler, a batch process, or something else. That choice does not belong to Business Architecture. It belongs to Application Architecture.

08 · Application Architecture

Application Architecture decides how the business will be implemented

“Once all your Business Services are defined correctly, we move to Application Architecture to choose a service pattern for IT implementation. In the service pattern, endpoint style and runtime engine attach to the pattern.”

A Business Service describes what the business can do. Application Architecture decides how software will do it. A service pattern may support REST, GraphQL, event, batch, streaming, or internal endpoint styles. It may also run on different runtime engines.

“For DB pattern and engine, if you select a DB pattern like shared database, data warehouse storage, or stream state store, multiple database engines may be attached to that pattern. Pattern is one decision; engine is another decision.”

This keeps logical architecture separate from technology choice. The same business capability can be implemented differently as technology, scale, deployment, and integration requirements change.

“When we talk about data entities and data attributes, we are using business architecture terms. When we talk about tables and columns, we are using IT implementation terms. Application Data Modeling defines how business data is translated into an implementation data structure.”

WanOne derives the Application Data Model from the L5 business steps. If no process, service, input, event, or integration uses a column, then the system has no source to populate it. A large enterprise model may have thousands of entities and attributes, but a single application only needs the part required by its current processes.

09 · Data Architecture

The warehouse is a layered path from raw data to analysis

“In Data Architecture, the starting point is the data pipeline and data warehouse engine. We have a staging area, an enterprise data warehouse, and an analytics data warehouse — different layers of the whole data warehouse.”

The staging area receives selected operational data in its raw or near-original form: structured data, semi-structured data, files, APIs, streams, internal sources, and external sources. It is the raw material for enterprise analytics, not the final enterprise view.

“EDW is the core of the whole data warehouse. It is well organized, well modeled, curated, integrated, and consolidated. At a deeper level, EDW is a kind of mirror of the Business Data Model because we land actual physical data into a similar enterprise model.”

EDW integrates data from multiple applications into a consistent enterprise structure. It cleans, validates, standardizes, reconciles, consolidates, and manages history. It supports management reporting, regulatory reporting, risk analysis, finance, and cross-application analytics.

“ADW is different. We define star schemas and analytical subjects. We have fact tables and dimension tables. Dimensions have hierarchies, such as year, month, and day, or country, province, city, and street, so BI tools can drill down and roll up.”

Not every source table goes to the warehouse, and not every EDW table goes to ADW. Data Architecture selects the operational result data that matters for reporting and analysis, then transforms it through staging, EDW, and ADW until it is ready for business consumption.

10 · System Definition

System Definition maps architecture into owned, deployable systems

“System Definition is a mapping from architecture into systems. We have already described the business data, processes, services, and their IT realization. Now we decide which frontend application, back-end service, database schema, or warehouse group each part belongs to. In a real organization, these choices should make sense alongside the systems you already have, the teams that own them, and the boundaries for deployment and maintenance.”

In WanOne, System Definition organizes frontend applications by actor, back-end services by capability or subject area, operational database schemas, and warehouse groups for SA, EDW, and ADW. It describes how the modeled outputs should be grouped. The business processes to deliver are selected separately as the Generation Run’s business scope; validation and baseline approval establish the reviewed reference for generation. Shared dependencies may be needed beyond the selected processes.

“These four types are ways to organize the implementation, not a requirement to create many separate systems. One frontend can serve several actors, and one back-end system can bring related services together. We should split them when ownership, deployment, or maintenance needs a separate boundary—not simply because the model contains many services. Start with a structure you can explain and operate, then separate it when there is a clear reason.”

Splitting systems should be an operational decision, not a fashion. Create extra system boundaries when they help with ownership, deployment impact, change isolation, modernization, scalability, or team responsibility. If AI can generate, test, validate, and deploy one coherent system well, then splitting should wait until there is a measurable reason.

The final saying

WanOne’s goal is not simply to generate code faster. The goal is to make Enterprise Architecture executable: business meaning first, architecture mapping second, simulation and validation next, and then iteratively generate and refine the system before final deployment. We will continue to develop simulation capabilities so that business models, processes, and generated systems can be tested, evaluated, and refined before deployment.

What comes next for WanOne

What we have achieved

WanOne now brings the core framework into a working product: business data and process modeling, application and data architecture configuration, and system generation from reviewed models. Architecture visualization, data lineage, generation previews, and impact review help connect business intent to its implementation. These provide the foundation for semantic design, generative construction, and architectural traceability.

What we will refine next

Our near-term focus is the first and last two areas in the diagram. We will strengthen the Business & Knowledge Foundation so enterprise knowledge can be structured, aligned, and used more effectively in architectural reasoning. We will deepen IT Management, Operations Integration, and Service Automation, connecting architecture more closely to deployment, configuration, and operational feedback. Through Learning & Evolution, we aim to turn that feedback into better knowledge, models, and future results.

WanOne product direction in six areas: Business and Knowledge Foundation; Semantic Design and Generative Construction; Integration Testing and Simulation; Visualization and End-to-End Architectural Traceability; IT Management, Operations Integration, and Service Automation; Learning and Evolution.
WanOne product direction: from enterprise knowledge to continuous learning.

What we will begin developing

Simulation is the next development area: exploring business process changes, demonstrating system and UI behavior, and simulating backend data and scenarios. Alongside integration testing, this will help teams examine how a proposed design behaves before committing to operational change.

The diagram shows the broader product direction. Current capabilities provide a foundation; the refinements and simulation work described here are the next steps.

Read the configuration guide →