Thursday, November 05, 2009

SAP MII - Overview and Overuse

MII stands for Manufacturing Integration and Intelligence.

It's an offering from SAP which I have been mucking around with for the last few years. Its market is generally mining / manufacturing companies that have a need for agile data aggregation and / or reporting.

It was originally developed on the Microsoft .NET platform by a company in the US and it was called Lighthammer. Lighthammer generated quite a lot of hype amongst these sectors and were subsequently acquired by SAP who were looking for greater market share in the manufacturing space.
SAP re branded the product MII.

I travelled to Sydney in 2006 to sit some MII training, the first course of its kind in Australia. SAP had to find some internal resources who knew enough to conduct the training, and got them a ticket to Sydney (I think the agenda and materials may have been composed on the plane BTW).
This was version 11.5, the current release is 12.1.

There are 2 main aspects of MII:

Visualisation / Reporting (Illuminator)
Here you are basically embedding java applets and vector graphics into html pages, this is geared towards the business user who wants to see enterprise wide information presented appropriately in one place. So, they log into the xMII portal and have all of their relevant reports configured as links.

The technical explanation is custom HTML pages (called irpt's), which have a bunch of JavaScript underneath which call MII server components. These components will paint graphs / images in the browser with all the relevant data binding.
There is also quite a nice javascript object model available to the developer, where features such as asynchronous javascript and XML (read remote scripting), come as standard.

Integration / Intelligence (Xacute)
This part of the product is what I have been focused on.
It is all about getting data from various systems, translating, aggregating, etc the data as required and either passing it off elsewhere, performing business logic etc. anything.

It is like a 5GL programming language, all drag and drop. You have a design surface and you create what is called a transaction, then you can schedule this transaction to run at intervals or expose it as a web service for 3 rd parties / other applications to invoke.

Upon first impressions, Wow, really powerful and easy.
Upon reflection, after having delivered 3 years of business process automation, data interfacing, publish / subscribe messaging layers... Quite limiting.
More of the effort is spent writing tactical workarounds than it is dragging and dropping your way to the next deadline.


All in all, it's a very attractive product to large manufacturing companies as it helps them get to a pseudo service oriented architecture, helps put an end to point to point interfacing nightmares, abstracts the technicalities of proprietary and legacy endpoints and enables a service layer to promote the single source of the truth nirvana.

All experiences based on version 11.5

WIKI

MII Forum

Wednesday, November 04, 2009

Arisen from Blogging Paralysis...

Wow, over three and a half years since.
Slight gear change here, from the technical depths of C# to a more heterogeneous view on software.

Stay tuned...