Note |
---|
This web page is under construction. |
Abstract
Following API calls handle any interactions within the building information model itself. In order to support multi tenancy in a proper way additional URL paths are to be used containing the team name and the project name.
The team name and the project name need to be specified and setup as so-called slugs to present a clean URL. Slugs are lowercase unique identifiers based on English characters and numbers.
The team slug will be used to know which tenant database to work on.
The project slug is necessary to verify the user's access rights on the project in an early stage of processing the API call – preferably before any business data will be touched and any business logic will be executed.
The JSON objects used for input and output will be based on the IFC standard in terms of structure and naming. First of all it's necessary to have a pure API bound object model and second using a standard based approach.
Representational State Transfer (REST)
Representational State Transfer (REST) is a style of software architecture for distributed systems such as the World Wide Web. REST has emerged as a predominant web API design model.
REST-style architectures consist of clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the transfer of representations of resources. A resource can be essentially any coherent and meaningful concept that may be addressed. A representation of a resource is typically a document that captures the current or intended state of a resource.
The client begins sending requests when it is ready to make the transition to a new state. While one or more requests are outstanding, the client is considered in transition. The representation of each application state contains links that may be used the next time the client chooses to initiate a new state-transition.
Key goals of REST:
- Scalability of component interactions
- Generality of interfaces
- Independent deployment of components
- Intermediary components to reduce latency, enforce security and encapsulate legacy systems
Panel |
---|
REST's client-server separation of concerns simplifies component implementation, reduces the complexity of connector semantics, improves the effectiveness of performance tuning, and increases the scalability of pure server components. Layered system constraints allow intermediary proxies, gateways, and firewalls to be introduced at various points in the communication without changing the interfaces between components, thus allowing them to assist in communication translation or improve performance via large-scale, shared caching. REST lets intermediate processing by constraining messages be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability. |
RESTful architecture constraints
- Client-server separation: no data storage on the client, client and server can be developed independently;
- Stateless: no client context being stored on the server. Each request contains all necessary information to service the request;
- Cacheable: clients can cache responses;
- Layered system: a client doesn'n know if it is directly connected to the server;
- Uniform interface between clients and servers.
- Code on demand (optional): servers can change functionality of a client by the transfer of executable code.[1]
Database operations and HTTP calls
Help us improve the Bimplus API doc by providing your valuable comments. You can find the comment section at the bottom of the page. |
Bimplus Introduction
- Bimplus is an open, “All-Connect” platform for connecting people, information and BIM models to build faster. Bimplus is Open BIM compliant.
- Bimplus provides universal access, sharing and connection of relevant building information; enabling seamless collaboration among all people in the project
- Bimplus is designed, using the latest Internet computing, cloud technologies, mobile devices and social communication.
- Bimplus is the future of the Internet based building Industry.
- You can find more information about Bimplus from our
Newwindowlink title Bimplus website url https://www.bimplus.net/ - A bunch of video tutorials are available
Newwindowlink title here url https://www.bimplus.net/en/User-Guide/
- What is Bimplus ?
Office Powerpoint name What is bimplus.pptx width 550 height 300
- Benefits of Bimplus
Office Powerpoint name Introducing bimplus.pdf width 550 height 300
Bimplus API
Bimplus API provides RESTful services for accessing, creating, modifying and deleting different levels of information in a building model on our Bimplus platform. It connects the building project information to a vast number of developers providing innovative Apps / applications that can operate on the building models and information.There are four types of database operation defined for manipulating the building content. i.e Create, Read, Update, Delete (CRUD) can be performed against the resources(URI, which are building information in our case) which are essentially the building blocks of REST.
The following HTTP methods implement these operations in the persistent level Full use of HTTP methods considered as RESTful. There are four types of the database operation defined for content manipulation: *Create, Read, Update, Delete (CRUD)*. Following HTTP methods implement these operations on persistent level\[2\]: Wiki Markup
Operation | SQL | HTTP |
---|---|---|
Create a resource on the server | INSERT | POST Read |
Retrieve the resource from the server | SELECT | GET |
Update the resource on the server | UPDATE | PUT |
Delete the resource from the server | DELETE | DELETE |
...
All necessary information for resource manipulation will be sent within a HTTP request. It includes
- Resource identificator (URL)
- Data type / format (HTTP header)
- Authentication information (HTTP header)
- Operation, which should will be performed with against the resource (HTTP method)
Things to remember:
- The JSON objects which will be used as the Bimplus data exchange format will be based on the IFC standard in terms of structure and naming.
- The resource paths contain the team name and the project name to support multi-tenancy.
- The project slug (which should be provided during the creation of a project) should be provided as part of the URL for accessing all the project relevant resources. This is also necessary to verify the user’s access rights on the project in an early stage of processing the API call (before any business data will be touched and any business logic will be executed)
Connect with Bimplus and become a Bimplus compliant developer/partner
is the first place of contact of the user/developer for using the Bimplus platform(stage version). The production version of the portal can be found underNewwindowlink title Bimplus portal url https://www-stage.bimplus.net
where you can purchase different editions of Bimplus cloud platform.Newwindowlink title https://www.bimplus.net url https://www.bimplus.net/en/products/
you can also find a few critical foundation apps like the Bimplus Explorer, Bimplus Viewer and Bimplus Problem Spotter. The portal takes care of the user registration(developer registration) as well.Newwindowlink title Here url https://www.bimplus.net/en/Home-oxid/bim-Apps/
- The Bimplus API(stage version url : https://api-stage.bimplus.net/v2) provides an interface for accessing the building information and models. It connects the building project information to a vast number of developers providing innovative Apps / applications that can operate on the building models and information.
The following figure describes the relation between the Bimplus portal and the API.
- Please register
for accessing the Bimplus resources and become a Bimplus compliant developer and a partner. You will receive an authentication token after the registration.Newwindowlink title here url https://www-stage.bimplus.net
- A Team is a tenant/company which work on the projects. The team has to be specified and setup through the
portal as so calledNewwindowlink title bimplus url https://www-stage.bimplus.net
to present aNewwindowlink title slugs url http://en.wikipedia.org/wiki/Clean_URL
. The team slug will be used to know which tenant database to work on.Newwindowlink title clean URL url http://en.wikipedia.org/wiki/Clean_URL
- Using the authentication token and the team slug, you can start working with the building projects which you are a member of, using our Bimplus api.
- Please find a quick start tutorial here.
Bimplus Services
Bimplus API provides RESTful services for accessing, creating, modifying and deleting different levels of information in a building model on our Bimplus platform.
These are the project relevant services available at the moment:
- Project Service
- Object Service
- ElementType Service
- Model Service
- Attachment Service
- Issue Service
- Pin Service
- Import Service
These are the administration relevant services available at the moment:
For further details see the Bimplus api reference Media type for the data base operations and client-server communications is *JSON*.\[3\] Wiki Markup
Client request example:
Composition Setup |
---|
|
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|