BIM360 is a Cloud platform offered by Autodesk for Building Information Management. The platform integrates with their suite of industry-standard CAD applications and offers a shared online workspace for users to collaborate on projects from design through to construction.
Autodesk BIM360 Custom Integrations
BIM360 provides a wide range of APIs to extend its functionality and integrate its services with custom applications. We have worked on several projects that interface with the BIM360 platform to offer end-users a seamless user experience spanning custom line-of-business applications through to the Cloud platform.
Line-of-Business/BIM360 Application Integrations (PIP)
As part of the roll-out of BIM360 across their organisation, a client required integrations between their custom applications and the Cloud platform. These integrations included:
User Management and Synchronisation
The client had an existing user and role management solution that needed to be extended to manage BIM360 users and roles. This allowed managers to control access to the Cloud platform from a user interface they were already familiar with. In the background, changes to user access and roles was automatically synchronised with BIM360 by custom integration software we developed. By allowing managers to control access to multiple systems from a single interface, user training requirements were reduced, day-to-day manager’s time was saved, and user error and inconsistency was eliminated.
Our client had an existing custom-built project management system that needed to integrate with BIM360 as part of the solution roll-out. The system we developed for them provided an on-demand synchronisation feature that updated Project properties, user access permissions, and data taxonomies with a single push-button action by a manager. Synchronising project data in this way eliminated the possibility of user errors, saved time, and ensured that managers could provide the latest project data to collaborators instantly, without having to resort to less desirable channels such as email or instant messaging.
Prior to the introduction of BIM360, our client managed their CAD drawing assets on shared network folders. BIM360 offers a wealth of file collaboration tools like automatic versioning, custom meta-data management, and check-in/check-out functionality. To facilitate the move to BIM360 and to leverage the file management features offered by BIM360, we developed functionality to allow end-users to upload their assets to BIM360 via an existing line-of-business application which they were already familiar with. The upload functionality included logic to automatically store file assets in the correct location in this BIM360 file structure, thus eliminating the scope for user error, and missing files.
BIM360 to On-Premises Data Synchronisation
For several legacy batch processing workflows, our client needed copies of CAD drawing assets copied to on-premises file storage. The file synchronisation system needed to run on a regular schedule, so reducing the time each sync job required to run, as well as avoiding excessive bandwidth usage was paramount.
To meet this challenge, we developed a custom file synchronisation system to copy drawing assets and folder structures existing in BIM360 to local storage. To optimise performance, and eliminate unneeded data transfers, the custom file synchroniser kept track of file meta-data, using it to ensure that only files that had been added or updated since the previous run would be copied. The change detection mechanism used the file hash (SHA1) to identify changes, thus guaranteeing that only modified files were synchronised. This was necessary, as in some cases users would upload the same file content to BIM360 multiple times. Each upload would create a new file version in BIM360, but because the actual file content was unchanged, our synchronisation system was able to identify these duplicates, and avoid copying them to the local data store.
Common Technical Features of Custom BIM360 Integrations
The BIM360 API is based on the widely used RESTful web service pattern, and as such we were able to leverage our previous experience with similar APIs, plus an industry-standard set of development tools and frameworks to rapidly integrate our client’s custom systems with the BIM360 Cloud platform.
Cloud Fault Tolerance
When using off-site Cloud services such as BIM360, there is usually a greater incidence of intermittent faults compared to on-premise solutions. There are several factors that cause this, but the main one is the increased complexity and diversity of the network links between an on-premise application, and a Cloud service (as compared to wholly on-premise network communications).
Custom applications that use Cloud services need to be fault tolerant and recover gracefully from intermittent outages. For our client’s BIM360 integration, we used automatic retry and “circuit breaker” policies to mitigate the impact of faults and ensure the highest levels of system reliability and responsiveness.
Authentication & Authorisation
Authenticating with BIM360 is supported by the industry-standard OAuth 2.0 protocol. Having experience with this protocol on previous projects, our development team was able to utilise a standard authentication software framework to provide a secure and flexible authorisation interface between the BIM360 platform and our client’s custom line-of-business applications.
Some points of note on the authentication integration:
· For scenarios where a custom application needed to impersonate a user when accessing BIM360, user-based permission delegation using OAuth 2.0 was implemented. In this workflow, the user authorises the custom application to act on their behalf in BIM360. This is useful for file management scenarios where users utilise a custom application to add/modify files in BIM360 indirectly, and the meta-data records that a named user performed the actions, better reflecting the user’s intent (this is as opposed to using a “System” account or similar, where the actions of individual users cannot be identified).
· For scenarios where the custom application acts as a service (i.e. taking non-user specific actions) when accessing BIM360, a client application access scheme using OAuth 2.0 was implemented. This is useful for situations where a custom application needs to access the Cloud platform as a generic system user. Typically, these are read-only scenarios, where a custom application is not modifying any data, and therefore there are no changes that need to be attributed to a user.
· When setting access levels of custom applications to BIM360, care was taken to ensure that only the minimum degree of privilege required was granted (e.g. read-only, read/write, administrator). This is industry best-practice for security, and it prevents exposure of sensitive data and functionality to unauthorised parties.
· The OAuth 2.0 protocol provides facilities for custom applications to renew security tokens as this expire. The effect of this is that end-users need to authorise a custom application only once to act on their behalf. When implementing our client’s integration with BIM360, we ensured that authorisation tokens were securely stored, and automatically renewed as necessary thus eliminating the need for end-users to login and authorise access repeatedly.
Although not a REST/SOAP integration the work done still communicates with AutoCAD to retrieve and update data? Brian can you pad this out please?
JIRA offers a flexible workflow engine that enables deep integration with existing business processes. It’s flexible Apis and web hooks Offer many Integration options. Basesite have developed project readiness workflows and A custom RFI system for a major American client. The RFI system utilises the primavera schedule to Enrich a request key project activity dates. The RFI system also integrates with an active directory client to provide automatic Routing of RFI’s to the necessary team members. This system completely removes the guesswork in selecting the appropriate team member responsible for each issue raised.
Easypower electrical modelling software
Basesite have successfully integrated the electrical modelling software Easypower with the customers on premise power management system. The project involved the analysis of the data structures within the easy power database and development of an API wrapper layer Which enabled one-way communication with the client for management tool.
The team has many years’ experience in developing and consuming a combination of RESTful and SOAP APIs that are used in the financial and insurance industries. Examples include brokerage systems that integrate with multiple insurance companies to get the best quote for policies and the creation of financial solutions that are split across multiple financial partnerships
Azure integration systems
Members of the team have worked on government projects which involved integration on-premise solutions with Azure based solutions. This involved utilizing Azure high volume architectural components like service bus to handle the processing of large scalable volumes of data
To support commissioning of plant, we offered a mobile app for use by technicians on a factory floor. This app allowed technicians to verify line connections by scanning QR codes printed on points of connection. When a code was scanned, the app would query a database of all connections to verify that the line had been connected to the correct point.
For stopping and starting of plant, the app guided technicians through the checklist of lines that needed to be closed or opened, having the user scan t