Team Based Development refer to the capabilities in Informatica Big Data Management (BDM) that allow various developers to access, share, collaborate and reuse objects developed by others within the team. BDM has several capabilities that allow developers to work collectively without stepping on each other's work and without accidental overwrites.
Integration with version control system
Model Repository Service (MRS) can be integrated with any supported version control system such as GIT, SVN and Perforce. Model Repository completely abstracts all the complex version control operations to the Informatica developers. As the developers check-in / check-out objects, MRS seamlessly translates these into necessary operations for the underlying version control system. Integrating Model Repository Service with an external version control system is a single step process as demonstrated in the screenshot here:
When integrated with a version control system, MRS will preserve the latest version (current version) of an object in the model repository and all other versions in the external version control system.
Developers can use the check-in objects into or check out objects out of the version control system. Developers can perform such operations on multiple objects at a time.
All the historical versions stored in the external version control system can be directly accessed from the Developer tool itself. The View Version History menu opens the Version History pane.
Multiple Informatica developers can work and collaborate with each other. Developers can in parallel edit and operate on multiple related objects. For example, consider a mapping with a some reusable and non-reusable transformations. While a developer (developer-1) is editing the mapping, another user (developer-2) can edit the data object and a 3rd user (developer-3) can change / update the reusable transformations used within the mapping. Depending on the complexity of the mapping, multiple users can edit several components of it at the same time. Users can also edit Mapplet, Workflows and other related objects at the same time.
Administrators and other super users will be able to view edits in progress from the Administrator console - as described in the next section.
Intent based object locking
BDM has in-built capability to acquire write locks for objects that the developers edit. A classic lock acquisition mechanism would acquire the write lock on the object as soon as user opens it in the workspace. While this eliminates the accidental overwrites, it is often an administration overhead when large teams are involved. A developer may just wish to have a read-only copy of a certain object open in their workspace as a reference to something they are working on. With globalization and developer teams spread across the oceans, acquiring a write lock for a user who opens an object makes collaboration a nightmare for developers. BDM uses intent based object locking to provide a more seamless collaboration experience. BDM acquires a write lock on the objects that on the first attempt to edit an object. This way many users can have the object open in the workspace and not interfere with the active users. Intent based locking is available for all top level objects including mappings, profiles and workflows. Locks acquired by the developers are automatically released when the objects are closed.
Developers have complete visibility on the objects that are locked by other developers, the time since this the user acquired the lock and other details. Users with elevated privileges
Administrators and elevated users can leverage the Administrator console to similarly manage the object locks and release the locks that are no longer valid and active
Informatica's Big Data Management has capabilities that allows various developers to work in parallel in a model repository that is version control enabled. Developers can check-in and check-out objects from the model repository that are seamlessly sent to an external version control system such as GIT. Big Data Management automatically maintains locks on the objects while allowing users to contribute and collaborate.