Dan, thanks a lot for your reply. Maybe the docs I'm using right now are just a "scrapbook" of ideas. Let me try to narrow the scope in a brief description:
The idea of the project is to "augment" an ESB for EAI platform and to enable it allowing it to make "inferences" regarding which routes to use, "discovering" sources / destinations of an event message(s) which then it transforms / enriches according destination "semantics" and format(s). This featuring the exposure of a generic facade which allows to see in an "homologated" view the applications or services and their data, schema and behavior (actions) that could be integrated into the tool. Different integrated applications are enriched with this facade and with the events that, given the inferred routes and transformations, augments theirs data, schema and behaviors, invoking activities corresponding to each destiny semantics. So what I need is a "runtime" where a set of metamodel objects could live and interact in an event driven fashion. These objects are of a static set of model classes whose instances render the dynamic model instances in a type object like pattern with injected contexts and dependencies. I agree this could be an '@dev' matter. I'll should be looking at the sources of Isis soon to find out if I'm able to leverage and build something up on. Regards, Sebastián. On Thu, Jul 18, 2019, 2:20 PM Dan Haywood <[email protected]> wrote: > Hi Sebastian, > > users@ is for those who use the framework "as-is" to develop their own > applications, while dev@ is for those who would like to contribute to the > further development of the framework itself. From your extensive notes, I > suspect that dev@ is probably closer to the mark. > > Thanks for those notes, there's obviously a hell of a lot of thought that > you've put into it. I must admit to not being able to follow it that > clearly, it reads more like a brain dump and I don't recognise every term. > You ask: does this sound possible? I guess my answer is, "it depends on > what you really mean". I can see ideas in there that sound very similar to > the Apache Isis world view, but then again it's possible that I'm just > noticing some words and filtering out others that are incompatible. > > I do find it interesting that you've called out the DCI concept. I > recently did a talk a muCon 2019 (video at [1]), where I decided to > demonstrate our particular interpretation of DCI, through the use of > mixins. Maybe it resonates? > > However, here's one possible difference between your vision and what Apache > Isis provides. I see you talk about a "dynamic" model, whereas at the > moment the metamodel that Isis builds is static, in that it is built up > using Java reflection rather than something else. The caching of the > metamodel is therefore build around types rather than objects. You'll see > that our mixins are bound to the "mixee" through the types that the mixee > implements. > > I don't know if that's a blocker for you. If it is, then I suppose one > could find a way to not cache the metamodel by type and simply build a > "throw-away" metamodel for each object as it is interacted with; it only > takes a few 10s of milliseconds to create the metamodel for any given > object, after all. But at any rate, at the moment this is the one big > possible difference in vision. > > Fundamentally, Apache Isis is about a creating a metamodel around the > object being interacted with, and then leveraging that metamodel to > automatically provide projections of the object for various purposes. The > most obvious project are the viewers (wicket, Rest and the wrapper), but > others include inferred commands/domain events, and cross-cutting concerns > such as security (authorisation and auditing). > > Thanks for your interest in the framework, and look forward to your further > thoughts > > Cheers > Dan > > [1] > > https://skillsmatter.com/skillscasts/13788-leveraging-metamodels-and-dci-to-build-modular-monoliths > > > > > > > > On Wed, 17 Jul 2019 at 16:44, Sebastian Samaruga <[email protected]> > wrote: > > > Hi, wonder if this are the correct lists. I'm a Java developer in the > > quest of finding declarative means for enterprise applications merging > and > > integration. In my first attempts I've found Semantic Web models (RDF / > > OWL) as a valuable cornerstone for what is called "ontology matching". > > > > Now I realize I need a "runtime" / container for all those models and > > their "reactive" interactions. Skimming through the docs I'm considering > > Apache Isis as an option for deployment. From my part, now I'm only > trying > > to keep updated some fuzzy analysis documents in a GitHub repo: > > > > https://github.com/snxama/scrapbook > > > > The idea is applications (services / data sources) are "glued together" > > homogenizing their contexts data and interactions (roles / IO events) in > a > > common event bus driven metamodel with "smart" dispatch of events due the > > "signatures" (state) of client / consumer actors. > > > > If one could feed Isis with such a "dynamic" model, it will be great for > > prototyping, to use it as Web / REST Facade or as an Interaction Protocol > > layer with "dialog" semantics. > > > > I'm currently planning a "metamodel" in terms of layers of (aggregated / > > inferred from lower layers) data, schema and behavior which may map to > some > > of the components I've seen so far. > > > > Please allow me to paste two documents (the rest are in the repository). > > They are not finished or completed. The purpose is to read between lines > > and to see if some of this sounds possible. > > > > Best Regards, > > Sebastián. > > > > >
