Solution Designer
The Solution Designer provides dedicated design tools to standardize the design process of modern solutions. It allows to collaboratively create solutions for complex business problems, by bringing together business experts and IT experts to get the best out of both worlds. Together they iteratively translate the requirements into design-models for new and innovative products.
A tool for business experts
The Solution Designer is a collaborative environment providing dedicated, standardized design tools that enable business experts to model solutions based on their business expertise even without having technical knowledge or development skills.
It serves as a documentation and visualization tool that allows to share ideas with the entire development team. The Solution Designer offers collaborative methods to document the most valuable information from an experts perspective and to iteratively refine the requirements, by i.e. drawing UML diagrams, including documentations, etc.
The provided stacks or projects provide an ideal way to collaboratively work on a solution or component. Once the design is finished, it is automatically translated into machine readable design-models, which serve as the basis for auto code generation. This generated code automatically incorporates best practices, the modelled requirements and reduced the required coding effort by approximately 70%. Dramatically reducing risk of misunderstandings and the need of clarification while implementing the requirements.
Furthermore, the Solution Designer allows the composition of solutions by simply selecting components (business capabilities) and adding them to an application to solve a certain problem. This way, existing capabilities can be reused whenever needed to solve new problems or to deliver the next best experience to customers.
Solution Designer offers multiple ways to either build new capabilities or reuse existing solutions. Existing business capabilities can be made available as components with little effort, to be used in new applications to save past investments. Building new capabilities has never been easier thanks to different approaches offered. Whenever composing a new application one can already plan new components and describe their purpose. Depending on the team's resources and skills they can decide whether to create a Domain Service or a Generic Service to build a new component.
A tool for developers
Solution Designer is not only for the business experts but also for the developers of the development teams. The developer is the one to build new solutions and components based on the jointly created design-models.
The Solution Designer provides different stacks which come with different levels of automation and standardization. Depending on the solution and available cloud-native skills, the development team can choose on a per component and project base, which stack to use.
Use Domain Service Projects to design modern REST APIs based on OpenAPI standards automatically providing API specifications (Swagger 2.0 or OpenAPI 3.0) to be shared with the world. Domain Service Projects also offer support when integrating an external source by letting developers work with bindings and providing all methods required to call external REST APIs simply by providing this API's specification file (.json or .yaml).
Stacks bring out of the box pipeline definitions and security mechanisms, however, these can be adapted with the existing CI/CD practices of each company.
Solution Designer fosters the separation of the implementation into different layers for API(s), domain logic and the integration(s) so you only have to touch a single layer and not the whole code in case you need to update or alter its functionality. This lets you implement different APIs for different consumers while keeping the business logic abstracted away. Same applies for integrations to external sources. If this source changes there's no need to touch the business logic since everything is separated in different layers.
Solution Designer lets you choose between different development stacks to suit best your needs and skills.