-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Engage CLAW #18
Comments
We're starting to break everything apart into their own repos, so this one might be more helpful The PHP Microservices are here: |
Great, thanks for pointing that out! |
@birkland, can you point me to a brief specs/WIP of the needed stuff(framework definition) to make a fedora 4 external service talk to/expose via API-X? I want to look at the "common denominator" of what we are doing at CLAW v/s what is needed to weight effort/understand also divergence from our model. |
Hi @DiegoPino The purpose of the in-progress design activities is precisely to develop such a specification, based largely on assembling our past activities into a cohesive whole. So as far as finding a common denominator, at least from the standpoint on understanding API-X it may be best to trace its history. In particular:
For additional context, the DC Fedora users group presentation hints at some historic roots in the fedora 3 content model architecture. Some important characteristics of the fedora 3 CMA as far as we are concerned are:
API-X is still interested in the general concept of binding services to repository objects, but differs significantly in implementation and intent. For example
|
@birkland extremely grateful for this extensive explanation. I will give this some thinking, particularly because fedora 3 CMA concept differs radically to what we would need to do based on our current RDF scenario where multiple Thanks again for this. |
@DiegoPino Yes, the history of Fedora 3 CMA is important because it provides an opportunity to reflect on what it did right, and what it did "wrong". Increasingly, I'm thinking that some degree of inference may be necessary for solving the binding problem. One of the defining characteristics of SSWAP is that does rely on real inferred reasoning, particularly in the discovery process. From Gessler et al. (2009)
This addresses the "which data can this service operate on" mapping problem. The problem facing API-X is slightly different: "which data do we want this service to operate on". For API-X, it could possibly be more appropriate to bind based on something like SHACL, which can express the intent for an exact match, or specify an entailment that must be used. In either case, API-X is faced with an engineering challenge. SSWAP's reasoning is done at transaction-time, and is intended for asynchronous workflows. API-X needs to support synchronous scenarios, so might have motivation to pre-compute service bindings if inference is ultimately used, depending on the desired performance characteristics. |
Ok, i hope we got some free time to talk in person about this during OR2016. Pre-compute service sounds logic to me, even when this could be implemented via temporary caching system maybe?, since "which data do we want this service to operate on" could also be a user/config choice, which in turn could resolve via "which data can this service operate on" using one-time, or less-times calls. Will definitively have to dig deeper into SHACL, since it's the second time someone refers to it today! |
I am really wishing I had the time right now to participate in this thread, but for lack thereof, I will offer the following suggestion: if we don't make some time to "talk in person about this during OR2016" it isn't likely to happen. @birkland , what do you say to trying to put together some kind of informal meetup for API-X? |
I'm game for a meet-up, and/or dinner and drinks 😄 |
I'm game for @ruebot to buy me a drink. |
That sounds great! Here's a "lunch & dinner time slots" doodle poll: If that doesn't work out, we can look at session times. |
@birkland can you put a time zone on that Doodle poll? |
@ruebot aren't you all going to be in the same time zone for this meet-up? |
@whikloj He's thinking of jet lag. We will all physically be there, but some of us may be mentally thousands of miles away. |
Or in my case, I really will be thousands of miles away :-( |
... me too, but there in spirit!
|
Does Doodle have a setting for mental time? Cause mine is using Central and I could really use an extra 7 to 7000 minute delay. |
Hm, apparently you can't add time zone support after the fact. I think the default behaviour is "no time zone", i.e. it has the same literal values for everyone. So I edited the description to specify Dublin's time zone (UTC +1). |
@birkland Do you want to advertise this to the |
@birkland, just in case i was not explicit enough, please count me in for that OR2016-API-X meeting. Thanks. |
Let's meet by the registration desk during lunch break to decide where to go |
We've taken a table in the dining hall by the main (south) entrance |
Here are my notes from the meeting. Please jump in to add or correct anything I may have missed Nick Ruest (York University), Diego Pino Navarro, A. Soroka (UVA libraries), Andrew Woods (Duraspace), Dan Davis (Smithsonian), and myself met to discuss API-X. Nick Ruest has graciously offered to be an API-X stakeholder on behalf of the Islandora/CLAW community. The current API-X meeting time works very well for all CLAW developers to participate. There is a general notion that API-X will capture the consensus of the various members of the Fedora community who are interested in the general idea of binding services to the repository. Ideally, API-X will produce a declarative standard and/or set of best practices for representing the notion of service binding in repository objects such that multiple API-X implementation could exist. It was noted that CLAW and API-X share several technical and philosophical similarities (e.g. both involve using (micro) services to expose new functionality on repository resources, but there are a few technical differences that may or may not be significant. For example, at present CLAW is bound to workflows involving Drupal, so is not entirely general purpose at the moment. So once we’ve developed the initial version of API -X, we’ll compare implementations, refine the design docs based upon consensus among the API-X stakeholders Diego and Ruth are have similar views related to ontologies - i.e. that they must be in the repository because one cannot rely on resolving externally hosted ontologies. The current API-X draft design proposes using ontologies (direct or inferred class membership) as a mechanism of service binding. Islandora is developing services to generate/populate UIs and enact policy based on ontology. So now that there are use cases that involve leveraging ontologies to provide functionality among at least two Fedora-related projects, API-X ought to become involved in the process of discovering best practice in the community. |
@birkland awesome! Tiny change: Nick Ruest (University of York) -> Nick Ruest (York University) |
That's because Canadians, unlike Brits, put the surname after the given name.
|
...or people will think I'm at University of York, and British... again!
|
I'd say as of Islandora/documentation#504, we're officially engaged. Feel free to close this one @birkland. |
@dannylamb Perfect! |
Agreed about the ring having been, in fact, put upon it. On to Islandora/documentation#308 and beyond! |
Islandora CLAW PHP/Camel microservices share some similar patterns to API-X. Take a look at CLAW microservices & middleware to see where similarities and differences in API-X lie. Be the point person for communication between API-X or Islandora team members. A face-to-face may be appropriate
The text was updated successfully, but these errors were encountered: