BIM Service interface exchange (BIMSie)
Leon van Berlo
+31 (15) 2763106
BIMSie: the standard API for BIM Web Services to get BIM in the cloud
A standard API for BIM WebServices
BIM started as a data-driven concept. Files with BIM data were exchanged and the standardization of BIM data is an important part of the innovation. Today BIM is getting more and more online ("In the cloud"). BIM webservices are becoming more popular. Most of these online BIM services are created without notice of other services, and have different, specifically for their task designed technical interfaces (APIs) for communication. Connecting to these applications has to be done 'by hand' and is different per application. Standardization of an API for online BIM services (server/service/whatever) creates the opportunity to innovate the industry with BIM services automatically interacting with each other.
The problem is that different online BIM services broadcast different interfaces (so called APIs) to connect to their application. Connecting applications (online or on desktop running) all need to create a special one-to-one interface with the tool. After the connection is made, the data can still be exchanged in a data standard like IFC, COBie, or otherwise. Nowadays the user makes the connection by hand. This mandates human involvement to interact with different online BIM services. Real 'cloud based BIM' evolves automated interaction between different online BIM services.
Especially when an application needs to connect to several different APIs (for example for a user that works on different projects) the problem gets big fast. A standardized API (we call it ServiceInterface) is the solution. To really make use of benefits of cloud computing the BIMSie project was started.
The goals of this project are to automate interaction between (online) BIM services, giving the industry the possibility to innovate with BIM in the cloud. The goal in this project is to create an open ICT ServiceInterface (an API) for online BIM-WebServices.
Some examples of methods (also called "API calls") that are standardized in BIMSie are calls like 'addProject', 'download', 'getAllRevisionsOfProject', 'newRevision', 'getAccessMethod', 'login', 'abortTransaction', 'commitTransaction', 'getDataObjectsByType', 'getProgress', etc. When every online application uses the same methods/calls it is possible to create an automated, structured interaction.
BIMSie is as protocol independent as possible. At this moment BIMSie is documented for JSON and SOAP but other options can be added (although most online applications will manage with these two). BIMSie uses as much other web standards as possible (for example for authentication, encryption, etc).
BIMSie is not too big. It is split into modules. The core (the 'ServiceInterface') has 36 methods. The 'NotificicationInterface'-module has 12, 'RemoteServiceInterface' has 4, 'Authinterface' has 7. These 4 modules are the bulk of the usage. For more advanced usage like changing an IFC model there is the 'LowLevelInterface'-module that has 60 methods (actually there are not more than 12-15, but there need to be 3 times as many because of the different data types we support) and if online services/servers want to exchange progress information there is the 'NotificationRegistryInterface' with 27 calls. Most of the software tools will only need the first 4 mentioned modules.
Software vendors can choose which modules they support in their application. Not all modules are being used in all BIM software. When a module is used, it is mandatory to also use the 'Authinterface' and 'ServiceInterface' module of BIMSie.
First version (July 2013)
The first version of BIMSie (1.0) was published in July 2013, after many beta versions reviewed by team members.
All of the calls/methods are well documented on http://bimsie.openbimstandards.org. The documentation includes descriptions; return types and examples that have to be sent, with example responses. There is also an option to actually test the calls on a BIMSie compliant service. The documentation is hosted on the BuildingSMART page of github so anyone can collaborate on it.
Some common scenarios will later be documented and explained on http://bimsie.openbimstandards.org/ (choose 'common scenarios' from the menu option).
Current status (January 2014)
The current status of the BIMSie initiative is that it is being updated to a 1.1 version. There are also plans to create a new module for 'issue management'. This module is based on the BuildingSMART BCF 2.0 standard and developed in close collaboration with the BCF development team.
A reference implementation of BIMSie is made by the open source BIM Collective. The open source BIM collective has migrated several of their tools to use BIMSie. The open source BIMserver.org project, the BCF server and the BIM Surfer WebGL viewer are all using (parts of) BIMSie. These tools are available for developers to help them implement BIMSie in their own applications.
At this moment several software vendors are implementing BIMSie modules in their software interface.
Of course it is all about the practical use of the standard; the innovation that comes out of this. This section lists some examples to inspire developers.
The 'IFC Validator' that online checks if BIM/IFC models are of good quality. This tool is created as an online service that users can subscribe to. In this case users of a BIMserver could subscribe to this online validator to check the validity of the data every time they made a change (i.e. checked in a new revision). A presentation about this can be found on http://www.slideshare.net/berlotti/example-bim-validation-service-with-bimsie. This presentation also mentions some other examples.
Another inspirational video can be found on http://www.youtube.com/watch?v=878Kb_zaAFY. This shows a floor supplier that has an online service to generate layout plans for hollow core slabs. The big innovation with BIMSie is that a user does not have to upload an IFC file to their service every time they want to generate such a model, but this is done automatically every time a change is made in the model on a bimserver. This way there is a direct feedback from the floor supplier very early in the design process.
There is an android app called 'BIM Browser' to view BIM models on an android device. This app can connect to any BIMSie compliant service.
Or imagine a CO2 life cycle analyses tool that runs online ('in the cloud') and is triggered to calculate a model, every time an architect or construction engineer changes something in the model. This automation is the key to bring the knowledge that is normally only accessible later on in the process to the front of the process. Imagine making informed choices in a very early design stage. This could tremendously improve the life cycle performance of a building.
BIMSie creates an opportunity for the industry to build small niche applications that are very good at one (or a couple) task. No single software tool or 'platform' is able to hold all the needed features for a building project. Given the fragmented nature of the industry this will be the situation for at least the next decade. Moving tools to 'the cloud' doesn’t solve this problem, unless these tools can be connected in an automated way. The BIMSie concept makes efficient use of the fragmented nature of our industry, instead of fighting it.
Involved in core team:
- Netherlands organisation for applied scientific research TNO
- NIBS / BuildingSMART Alliance USA
- U.S. Army, Corps of Engineers, Engineer Research and Development Centre
- BuildingSMART Australasia chapter
- BuildingSMART BeNeLux chapter
Project participants (both active participants and non-active audience):
- Component Assembly Systems
- Nosyko AS
- Skidmore, Owings & Merrill (SOM)
- University of Brescia, Italy
- The open source BIM collective
The project is being organized into a core technical team and corresponding user members membership who will review and comment on the work of the core team. United States and international data modelers and API developers are also supporting the team to ensure the work accomplished will be consistent with other efforts of the buildingSMART alliance and buildingSMART international. To participate in this project, please contact Leon van Berlo from the Netherlands organisation for applied scientific research TNO: firstname.lastname@example.org
Back to Information Exchange Projects