# BIMserver

BIMserver (Open source Building Information Modelserver, vormals IFC Server) ist ein zu IFC-Standards konformer Modelserver für die Verwaltung von Building-Information-Modeling-Projekten. Die Server-Software ist freie Software.

## Geschichte

Die BIMserver-Software wird entwickelt von der Niederländischen Organisation für Angewandte Naturwissenschaftliche Forschung TNO, der Technischen Universität Eindhoven TU/e, von Oracle und von einer kleineren Gruppe von Programmierern bestehend aus Jakob Beetz, Ruben de Laat, Pim van den Helm und Léon van Berlo, Projektleiter und Gründer des Projektes. Das Projekt hieß vormals IFC Server.

## Verwendung

Als Kollaborationssoftware ermöglicht BIMserver ein Simultaneous Engineering, die verteilte gleichzeitige Bearbeitung von virtuellen Modellen mit Programmen verschiedener Software-Herstellern. Die Software findet Verwendung in der Bauplanung (Architecture, Engineering and Construction) und in der Immobilienwirtschaft (Facilitymanagement).
Die Software kann auch für Produktelieferanten von Gebäudekomponenten wie Türen, Fenster oder HLKK-Elementen als Produktebibliothek verwendet werden. Zudem können die Produkte als IFC-Models in Gebäude-Models gelinkt werden, womit eine verteilte Gebäudedaten-Infrastruktur realisiert werden kann.

## Technik

BIMserver ist kein Fileserver, sondern eine nach IFC-Standards schematisierte objektrelationale Datenbank. Dazu wird eine performante Berkeley DB von Oracle eingesetzt. Die Abstraktion der Software-Architektur erlaubt eine zukünftige Entwicklung auch mit weiteren anderen Datenbanksystemen.
Die Software hat eine modellgetriebene Architektur und ist in Java programmiert, nutzt aber auch eine IFC-Engine DLL in C++. Die DLL-Funktionen der IFC-Engine sind unter Windows, Linux, Unix und Mac OS X sowohl auf 32- als auch 64-Bit-Systemen getestet und funktionsfähig.

## Schnittstellen

Die Benutzer-, Rechte- und Projektverwaltung und der Upload und Download von Teil- und Hauptprojekten erfolgen über eine grafische Benutzeroberfläche, die per Webbrowser erreichbar ist. Diese ist konform zu den W3C-Standards. Zum Betrachten der Models im Browser hat BIMserver einen WebGL-Viewer implementiert. Dazu wird die JavaScript-Bibliothek o3d von Google verwendet.
BIMserver hat eine SOAP-Schnittstelle implementiert. Als Webservice wird das Building Information Exchange Protocol (BIM ExPro oder kurz BIEP) verwendet, das Sable und oBIX kombiniert. Damit lassen sich Projekte in einer Desktop-Software darstellen. So kann z. B. Autodesk Revit per Plugin mit BIMserver Daten austauschen.
Für das Einbinden von Informationen aus den IFC-Models in weitere Webapplikationen ist eine REST-Schnittstelle vorhanden. Jedes IFC-Objekt hat eine eigene URL und kann so abgerufen werden – je nach Deklaration entweder anonym oder passwortgeschützt.

## Funktionalität

* Benutzerverwaltung und Rechteverwaltung für Haupt- und Teil-Projekte.
* Benutzer können sich per RSS-Feeds über Änderungen im Projekt informieren lassen.
* Versionierung bis auf IFC-Objekt-Ebene.
* Revision Management für Haupt- und Teil-Projekte.
* Zusammenführen von Teil-Models in ein Haupt-Model.
* Geo-Lokalisation von Models mittels Koordinaten, um einen GIS-Link zu erstellen.
* Import und valider Export von Formaten wie IFC, ifcXML und ifcZIP.
* weitere Export-Formate: Construction Operations Building Information Exchange (COBie), CityGML, Collada (u. a. für Google SketchUp oder Blender), KML, Google Earth network link (URL für Google Earth).
Funktionen wie Dokumentenmanagement und Workflow sind in BIMserver nicht implementiert. Für diese Funktionen gibt es ein BIMserver-Plugin für Alfresco.