The PASS development methods at the Software Factory are a consequent implementation of the principle “individual software at the cost of standard software” based on true reuse. Out of numerous requirements from different projects and sectors we have developed standard components which are included into the application architecture in form of a library.
This reduces development times and efforts for testing, as the components are already in use as self-contained units in other production systems. Applying PASS development methods reduce efforts and costs in the development of new systems as well as further development of existing solutions – while maintaining complete flexibility and fulfilling the open system principle. Our development paradigm contains component and framework repositories, integration of up-to-date technologies by continuous trend scouting and application of model-driven methods of development.
Some examples of our reusable components are:
- Security Component: Implementation of complex organizational structures with roles, business rights, application rights, etc.
- Reporting Component: Creation of dynamic reports within an application.
- Process Control: Models of processes based on UML-/BPMN notation.
- Task Control: Supporting task management (Inbox) with configurable decision paths (four eyes principle, six eyes principle, individual workflows…).
- Rule Engine: For modeling rule expressions, e.g. for calculation formulas, decision trees, etc.
- Data Integrator: Data mapping to the data structure of the target system.
Our web and desktop application architectures are applied in numerous projects and products in production environments and are also used in high-load scenarios with more than one million transactions. Due to its stateless design, the base architecture supports a high data flow. The consequent separation between presentation layer, dialog processing, business logic and data(-base) access improves maintainability and complies with the principle of service-based architectures.
Our base architecture is in adherence with the best practices in the development of technology: In R&D we continuously look into new developments, trends and innovations and integrate them into our technologies, if practicable. Not least due to the broad platform independence of Java, we support different operating systems, databases, application servers, etc.
Effective use of models reduces times for development and testing, as the higher level of abstraction does not have the complexities of a programming language. The processing of GUI data or the data flow to databases is particularly suited for a model-driven approach. As the templates used for creating the software are completely maintainable, no glue code will be created. The application remains completely maintainable even without using generators. Model-driven development is possible for any higher-level development or script language, i.e. also for other languages than Java or .Net.
For standardized requirements or an evolutionary prototyping, the PASS BaseApp approach can be applied in order to further increase efficiency. Menus can be modeled; dialogs and subdialogs can be created from data entities or generated from linked entities. This approach brings substantial advantage: No restrictions in the technical attributes of the architecture below, only the degrees of freedom in the functional model are reduced. The basis for the model remains the same. This allows the base model to be used subsequently for a further development free from functional restrictions.