A blog by Oleg Shilovitsky
Information & Comments about Engineering and Manufacturing Software

Top 5 API Mistakes in PLM Software

Top 5 API Mistakes in PLM Software
Oleg
Oleg
13 October, 2010 | 3 min for reading

In any enterprise software, there is a point of time we are asking the following question – “what APIs are supported?” We anticipate the need of API in order be configure, customize, tailor, change, adapt, etc. Use any marketing wants, in the end you’ll need an API to be able to make the software finally works in the way you want. APIs provided by software define a level of flexibility, and this is one of the important characteristics you need to take into account.

The “10 common mistakes by API providers” article on ReadWriteCloud made me think about mistakes vendors are making when designing and providing APIs. I decided to put my top 5 lists of typical problems I’ve seen in APIs for CAD, PDM, PLM software. I believe, this list is not unique in CAD/PLM and may represent some general trends as well.

1. Complexity of data and API structures
The simplicity of API is one of the most important characteristics. When it comes to complex products like CAD or PLM, a very typical problem is a high level of complications in API functions, dependencies and data structures. The level of knowledge required to work with API is growing enormously and the potential for bugs and mistakes is growing too.

2. Late availability compared to software release
This one is representing a painful situation when APIs becomes available only in the “next version” of product. Normally, it represents a lack of maturity in product functions. It often happens in a situation when a vendor is releasing a new version and anticipate function changes in the next version.

3. Inconsistency with core product functions
Another very painful situation when a product from a user standpoint behaves differently compared to API. It normally happens when development organization is inconsistent with regards to planned functions and API. The involvement of different teams of developers , separation of user-functions and API-development may cause these situations.

4. Not Stable APIs and Lack of Backward compatibility
When you customize software for customer or develop your own application you want to minimize potential problems when new version of software is coming to a market. An ability of software to support a stable set of APIs between releases is a very important characteristic. Not stable API can jeopardize a new version deployment or a new release of your software. This is a very complicated issue causes a lot of problems.

5. Lack of tests
There are software vendors consider developers a cheap workforce to debug a new software. I can see a higer probability to see an API problem, compared to user function in the same product. It can be prevented, in my view, via increased usage of own software API for internal development. In addition, it often happens when API considered as an “addition to software” and developed separately from core functions.

There is one more thing. Availability of API. I didn’t put it in the list for several reasons. Sometimes, CAD/PLM vendors are making decision to protect some aspects of their software by restricting APIs. This practice more related to business strategy and cannot be considered as “API mistake”. This is another problem that often happens and needs to be taken into the account.

What is my conclusion? The amount of revenues in the market of engineering software related to services, and customization is very high. For different segments, it approaches 50% and even more. APIs is a core fuel behind these revenues. Consistent, stable and simple API is an important characteristic of every successful product in this market. Just my opinion.

Best, Oleg

Recent Posts

Also on BeyondPLM

4 6
28 April, 2024

Digital transformation is changing the world. It comes to our everyday lives and businesses. In my earlier articles I touched...

1 July, 2010

I have been paying more attention to open source last time. What I wanted to analyze is how Open Source...

14 July, 2014

Selling PLM for SME was always a very controversial topic among PLM vendors. No consensus here. I wrote about it...

19 October, 2010

Few days ago, I run into Gartner Magic Quadrant about IT Project and Portfolio Management. You can get it by...

3 February, 2017

There is no secrets – traditional PLM systems are running on top of relational databases systems. Although I didn’t find...

10 March, 2016

Machine learning is an interesting trend to observe today. Companies are placing big bets on machine learning algorithms and thinking...

20 July, 2010

Note: My new website and blog is BeyondPLM. I’m proud to share some numbers about live discussions that happen in...

22 January, 2020

A long time ago when I was too naive and too technical, I thought that the best product (or technology)...

22 April, 2016

Distributed environment is a new reality in manufacturing and it creates many new challenges. You can argue that manufacturing companies...

Blogroll

To the top