Integrations
Posted: 30 Jul 2010, 04:14
This posting started on the protege mailing list but got a little off target and on Jonathan's suggestion I am taking the discussion here.
I understand your description about how integrations can be modeled as a variation of application in that it provides behavior, though I am not sure you have sold me on the concept. Most integrations only move data without actually doing anything to it. Integrations typically do not maintain any long running state of business information. Integrations are typically much smaller than applications. For these reasons I think one should consider treating integrations different from applications.
~Andreas
================================
Hi Andreas,
To answer your question, in Essential integration solutions are modelled as Applications, using the Application Service and Application Provider meta classes. So, you would capture your particular ETL script using an Application Provider instance and describe its behaviour in terms of the data that it is moving between other applications. Details of the technology you use, e.g. DataStage, Informatica, Oracle Data Integrator, are then captured in the supporting technology architecture of that application.
We're just working on a really nice extension to the meta model to better manage how Information and Data is managed (created, moved etc.) around the organisation.
As you can see, we consider integration solutions (note: not the technology) as an application because they provide behaviour just like any other application. However, there are ways in our meta model to identify such applications as integrations rather than end-user applications. For these reasons, we have no explicit 'Integration' or 'middleware' meta classes. New types of integration solutions are constantly emerging, data integration, process integration, EAI, B2B integration etc. but we consider these as effectively different reference architectures for providing behaviour to exchange information and data or to invoke other behaviours. Rather than make these sorts of things meta classes, they become Instances in the model. After all, who knows what the next integration approach is going to be?!
Apologies to the Protege community for my email being a somewhat way-off Protege.
Perhaps we could go into more details about this, Andreas, on the Essential Project forum?
Jonathan
_______________________________________
Jonathan Carter
Enterprise Architecture Solutions Ltd
_______________________________________
Proud sponsors of The Essential Project.
The free open-source Enterprise Architecture Management Platform
http://www.enterprise-architecture.org
_______________________________________
On 29 Jul 2010, at 20:31, Andreas wrote:
> Ulf,
>
> Thanks for pointing out Essential. It is something I have looked into, along with IteraPlan, ArchiMate, TOGAF, and DMTF's CIM, as tools or frameworks with existing ontologies or meta-models. The challenge is just the learning curve which comes with a well established meta-model.
>
> In looking at Essential my first reaction was that the concept of integrations was missing. How would, for example, an ETL script moving data from one system to another be represented in the Essential meta-model?
>
> Andreas
>
>
> --- Ulf wrote:
>
> From: Ulf
> To: [email protected]
> Cc: [email protected]
> Subject: Re: [protege-discussion] Question about slots
> Date: Thu, 29 Jul 2010 09:08:54 +0200
>
> Hello Andreas,
>
> instead of answering your questions about slots I would like to ask if you already considered using an existing ontology for your IT systems and dependencies? For example take a look at the meta-model created by the "Essential Project" <http://www.enterprise-architecture.org/>.
>
> "The Essential Architecture Meta Model, is a detailed, extensible, yet easy-to-use meta model for describing an enterprise from top to bottom. Essential Architecture Meta Model is published as open source and is available for use in any modelling toolset."
> <http://www.enterprise-architecture.org/ ... meta-model>
>
> Regards,
> Ulf
>
>
>
> Von: Andreas
> An: <[email protected]>
> Datum: 29.07.2010 01:34
> Betreff: [protege-discussion] Question about slots
> Gesendet von: [email protected]
>
>
>
> All,
>
> I just started using Protege-Frames. I have already trolled the archives. If someone can point me to an old discussion, or better yet, briefly answer my question I would greatly appreciate it.
>
> I am a little confused when it comes to the use of slots. Let me explain by way of example.
>
> I am trying to model IT systems and their dependencies. To this end I have three classes: System, Path, and Integration. A Path shows where there are paths between systems across which any kind of information can flow. An Integration describes a specific type of information flowing between systems. There will be one or more integrations for a path. Now to my problem.
>
> Both Path and Integration has source systems and target systems. I first created a slot 'source_system' for Path with an inverse-slot='downstream_path'. Now it would just make sense to also have a slot for the Integration class by the name of 'source_system' and this is where I run into trouble. I can't add a new slot using the name 'source_system' because one already is defined. I can't use the one already defined because it has been configured with an inverse-slot='downstream_path' and I need the inverse-slot='downstream_integration' for the Integration.
>
> Now the easy way out is just to name the slots 'interface_source_system' and 'integration_source_system'. In the long run it would seem this would lead to lots of slots with very descriptive names. So am I getting something wrong here? Is there something like a Class bound slot which is not part of the global slots and does not have the namespace problem? Do I have it conceptually backwards and I should be solving the problem in an entirely different way?
>
> Any advice appreciated.
>
> Andreas
I understand your description about how integrations can be modeled as a variation of application in that it provides behavior, though I am not sure you have sold me on the concept. Most integrations only move data without actually doing anything to it. Integrations typically do not maintain any long running state of business information. Integrations are typically much smaller than applications. For these reasons I think one should consider treating integrations different from applications.
~Andreas
================================
Hi Andreas,
To answer your question, in Essential integration solutions are modelled as Applications, using the Application Service and Application Provider meta classes. So, you would capture your particular ETL script using an Application Provider instance and describe its behaviour in terms of the data that it is moving between other applications. Details of the technology you use, e.g. DataStage, Informatica, Oracle Data Integrator, are then captured in the supporting technology architecture of that application.
We're just working on a really nice extension to the meta model to better manage how Information and Data is managed (created, moved etc.) around the organisation.
As you can see, we consider integration solutions (note: not the technology) as an application because they provide behaviour just like any other application. However, there are ways in our meta model to identify such applications as integrations rather than end-user applications. For these reasons, we have no explicit 'Integration' or 'middleware' meta classes. New types of integration solutions are constantly emerging, data integration, process integration, EAI, B2B integration etc. but we consider these as effectively different reference architectures for providing behaviour to exchange information and data or to invoke other behaviours. Rather than make these sorts of things meta classes, they become Instances in the model. After all, who knows what the next integration approach is going to be?!
Apologies to the Protege community for my email being a somewhat way-off Protege.
Perhaps we could go into more details about this, Andreas, on the Essential Project forum?
Jonathan
_______________________________________
Jonathan Carter
Enterprise Architecture Solutions Ltd
_______________________________________
Proud sponsors of The Essential Project.
The free open-source Enterprise Architecture Management Platform
http://www.enterprise-architecture.org
_______________________________________
On 29 Jul 2010, at 20:31, Andreas wrote:
> Ulf,
>
> Thanks for pointing out Essential. It is something I have looked into, along with IteraPlan, ArchiMate, TOGAF, and DMTF's CIM, as tools or frameworks with existing ontologies or meta-models. The challenge is just the learning curve which comes with a well established meta-model.
>
> In looking at Essential my first reaction was that the concept of integrations was missing. How would, for example, an ETL script moving data from one system to another be represented in the Essential meta-model?
>
> Andreas
>
>
> --- Ulf wrote:
>
> From: Ulf
> To: [email protected]
> Cc: [email protected]
> Subject: Re: [protege-discussion] Question about slots
> Date: Thu, 29 Jul 2010 09:08:54 +0200
>
> Hello Andreas,
>
> instead of answering your questions about slots I would like to ask if you already considered using an existing ontology for your IT systems and dependencies? For example take a look at the meta-model created by the "Essential Project" <http://www.enterprise-architecture.org/>.
>
> "The Essential Architecture Meta Model, is a detailed, extensible, yet easy-to-use meta model for describing an enterprise from top to bottom. Essential Architecture Meta Model is published as open source and is available for use in any modelling toolset."
> <http://www.enterprise-architecture.org/ ... meta-model>
>
> Regards,
> Ulf
>
>
>
> Von: Andreas
> An: <[email protected]>
> Datum: 29.07.2010 01:34
> Betreff: [protege-discussion] Question about slots
> Gesendet von: [email protected]
>
>
>
> All,
>
> I just started using Protege-Frames. I have already trolled the archives. If someone can point me to an old discussion, or better yet, briefly answer my question I would greatly appreciate it.
>
> I am a little confused when it comes to the use of slots. Let me explain by way of example.
>
> I am trying to model IT systems and their dependencies. To this end I have three classes: System, Path, and Integration. A Path shows where there are paths between systems across which any kind of information can flow. An Integration describes a specific type of information flowing between systems. There will be one or more integrations for a path. Now to my problem.
>
> Both Path and Integration has source systems and target systems. I first created a slot 'source_system' for Path with an inverse-slot='downstream_path'. Now it would just make sense to also have a slot for the Integration class by the name of 'source_system' and this is where I run into trouble. I can't add a new slot using the name 'source_system' because one already is defined. I can't use the one already defined because it has been configured with an inverse-slot='downstream_path' and I need the inverse-slot='downstream_integration' for the Integration.
>
> Now the easy way out is just to name the slots 'interface_source_system' and 'integration_source_system'. In the long run it would seem this would lead to lots of slots with very descriptive names. So am I getting something wrong here? Is there something like a Class bound slot which is not part of the global slots and does not have the namespace problem? Do I have it conceptually backwards and I should be solving the problem in an entirely different way?
>
> Any advice appreciated.
>
> Andreas