Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
The traditional model of Dassault Systèmes's PLM software was based on a low-level server acting as a database and rich client software providing all the business intelligence. However, with the rise of collaborative work and of lightweight web-based clients, the need for more powerful integrity services running on the server itself has grown.
During my master project at Dassault Systèmes, I worked on extending the integrity services that already exist on the client application to the server. Whereas the client application has access to the part of the model that the user loaded in a client session only, the server has access to the complete database and history of the model. The extended service should take advantage of this access to provide a more complete and better integrated history and integrity service. It must also face the challenge of having to treat a lot more data than the client service, and solutions have to be found to provide sufficient performances nonetheless.
This project, which answers directly the needs of Dassault Systèmes' clients, requires many components, accessible in several languages (Java, C++ or specific request languages), to interact. It is necessary to minimise the performance impact of having many interfaces and data conversion. Since some of the components have not been well-studied in terms of performance, it will be necessary to study their behaviour to minimise their performance impact.
By designing an architecture that minimises the number of costly interactions between components, and by fine-tuning the data models and interfaces to get the best possible performances out of each component, I built a prototype that demonstrates the feasability of a reroute service that runs on the server within target performances ; I also devised an architecture for a new integrity module exible enough to be usable on both the client and the server while making an efficient use of the reroute service to limit its performance impact. This demonstration opens the door to an industrial implementation of this service and, further, to other new services that can leverage the power of running on the server to extend the abilities of both RichApps and web-based light clients.