One of the key pillars of industrialization of software production is the utilization of environments and software development frameworks. The software development framework is an integrated environment for the production of various enterprise software. Such frameworks provide the capabilities, tools, and capabilities of enterprise software developers to enhance the experience of the development process by utilizing superior experience-based templates and tools. Using software development frameworks, programmers focus on reusing these functions to generate complex business functions rather than focusing on developing all the low-level functions. The development process is also controlled using automation tools and all stages of development, testing, integration and deployment are based on these tools.
A variety of software development frameworks are currently being developed. These frameworks often lack localization capabilities, and developers are always dependent on their providers. In addition, with the advent of new technologies in the field of software engineering, it will be possible to exploit these capabilities if the framework providers enhance it. The TiBA software development framework is based on the experience and expertise of the internal forces, and is based on standards and valid software engineering principles. A key advantage of this framework is the full mastery of the development team for changing and updating it, as well as supporting new trends and technologies in software engineering.
The framework for producing enterprise software is based on Microservices, CQRS, Event Sourcing technologies. This infrastructure enables the development of large-scale enterprise systems by providing iterative and reusable components, as well as automated tools and mechanisms. This product enables software development based on the TTD and BDD approach. Support for a variety of BUS technologies to integrate microservices. It also fully supports the DevOps approach and fully supports the CI and CD cycle. Any type of RDBMS and NoSQL database can be used.
The main features of the Tiba Software Development Framework are:
- Recurring and generic functions to expedite the software production process
- Create automated testing infrastructure, Build, Continuous Integration, and Continuous Delivery
- Run all unit tests, integration and acceptance automatically
- Production based on agile methods
- Support for Microservice Architecture
- Produced on .Net
- Supports all RDBMS and NoSQL DBMSs such as Neo4J
- Angular Framework support
- RESTful API support
- Supports all Front-end operating systems including iOS and Android
- Data exchange and integration based on Event Sourcing and CQRS technologies
- Forward Chaining Rule Engine based on RETE algorithm
- Ability to define different plugins for extended functions
- OpenID Connect standard authentication and access and role-based, group-based and user-centric access management
- Support for Cucumber functional tests for Back-end and Front-end
- Project management based on the SCRUM framework and based on the Youtrack tool
The main parts of the Tiba Software Development Framework are:
- Domain Module: Developing a business layer based on DDD and Event Sourcing
- Persistence Module: Storing and retrieving business layer entities in any RDBMS and NoSQL databases and separating Command and Query databases
- Application Module: Managing Transactions and Microcomputer Integration Eventually Consistent on Any BUS Technology and CQRS Library and API Gateway Definition
- Configuration Module: Configure different parts of the software seamlessly, centrally, and flexibly
- Communication Module: Connecting Frontend and Backend or B2B segments in different ways (REST, SOAP, Netpipe,…)
- Security Module: Integrated management of authentication and granting access based on OpenID Connect standard as role-oriented, group-based and user-centric, and defining access to different parts of the software as AOP
- Test Module: Create Behavioral Test and connect it to Backend and Frontend and Test Definition libraries for ease of creating Domain, Application, Facade and Persistence unit tests
- Workflow Module: Define Workflow for managing your workflow
- Rule Engine Module: Define business rules dynamically and applicable to all software sectors
- CI Server: Continuous integration of the production environment
- Source Control Server: Managing Deliverable and Artifacts repository
- Issue Tracking and Project Management: Defining and Managing Activities