Hitchhiker's Guide to Software Architecture and Everything Else - by Michael Stal

Tuesday, August 12, 2008

Now it is proven - NESSI exists!

ok, but what is it?

According to its web site, "NESSI is the European Technology Platform dedicated to Software and Services. Its name stands for the Networked European Software and Services Initiative."

Yes, it is not very clear from this definition. So, let me try my own explanation.

Suppose, you'd like to leverage SOA to connect heterogeneous islands. Maybe, you are going to build a healthcare system that connects different international regions, allowing physicians to access your healthcare data if required and permitted. An underlying SOA infrastructure should provide:

  • SOA based middleware and process modeling
  • Enterprise Application Integration facilities
  • a kind of internet bus that supports various protocol families
  • registries and repositories
  • horizontal services such as security
  •  

Sure, you can obtain such ingredients, if you accept vendor lock--in. I don't list all the big SOA proponents here as they are quite obvious. The truth is that is almost impossible to cope with such heterogeneity. If you try, you will be soon overwhelmed by sheer complexity.

Unfortunately, there is another dimension to this problem:

  • Even if you have all these facilities at hand, you need to standardize the vertical domains. What if the whole SOI (Service Oriented Infrastructure) is standardized but two banks don't agree in what a customer or bank account is?

So far, solutions have either attempted to address the technology issue or to address the domain standardization.

What NESSI tries is to address those challenges.

It is required to create a kind of standardized SOA operating system and to define domain-specific standards for how to create applications on top of this platform. From my personal viewpoint the combination of Open Source Software with standards would be a perfect fit. It is necessary to create both, standardized APIs and a reference implementation able to handle mission critical applications.

Is a platform sufficient? Absolutely not, because we also need to cope with service engineering and governance issues and non functional requirements and tools. Consequently, NESSI is also trying to address these points.

All of these aforementioned  problems are hard to solve but on the other hand we have to solve them anyway, because they root in inherent complexity. If we need to solve them to finally live the dream of "the network is the computer", then NESSI represents an excellent opportunity.

But that's my personal viewpoint. What is your's?

2 Comments:

  • Hi,

    my feeling is that the technical complexity - the "wiring" of computer systems is a hard but solvable thing. We actually have a lot of standards to choose from when it comes to interoperability solutions (all the Enterprise Integration stuff).

    The really hard aspect is the business domain. As you said there will be different definitions of business concepts such as "customer", "order", ... We need a common definition of these things in order to create truly interoperable systems but from what I can see in my daily life (telco area): standard language exists but is not used within large organisations. They prefer to roll-their-own.

    Somewhere I read about a concept of a Business Domain broker, that can translate a customer of business A to a customer of business B. I can see this working for simple cases where we just have to deal with syntactical or very easy semantical translation.

    This is a very interesting field and I am exited about products addressing these issues. I do not believe in a quick solution or a silver bullet however.

    By Blogger valentin, at 10:27 AM  

  • To me personally standardizing on various domain objects is a reversion to a one size fits all situation. There is no guarantee we will get there and even if we do, external forces will undo it all very quickly. For me, SOA is the promise of integrating all these individual systems with all their idiosyncracies and differences.

    By Anonymous Anonymous, at 3:30 AM  

Post a Comment

<< Home