Lifecycle Integration Patterns


#1

We’re creating a community-contributed catalog of lifecycle integration patterns that have been successfully applied to solve a given business or technical integration problem. Please see the Lifecycle Integration Patterns Wiki to add your patterns or add your comments here if you have questions.


#2

Thanks Wesley,

This is very interesting initiative. We have ourselves interest in the following questions, including patterns for (but not limited to):

  • representing lists (more generally, representing ordered quantities)
  • reactive processing (read: TRS & MQTT)
  • distributed consistency (read: concurrently processing multiple TRS logs from OSLC servers that link to each other, esp. when TRS change events come via MQTT, not when we poll)

We have an idea of possible patterns but there is no “best” one. We might try to contribute some of them.

I read the description of the Developer-Tester Proxy Pattern (I would call it a proxy resource pattern) pattern and it sounds sane, but lacks more strictly defined semantics: is the proxy resource read-only? If not, how to deal with concurrent updates – does the proxy resource work as a slave, treating the original resource as a single source of truth?

There is a similar pattern Proxy URIs for linking to resources that are not RDF resources per se (e.g. JPEG images). Same idea, you create a proxy resource with all RDF properties and a link to the original resource.

Suggestion no. 1: add patterns via pull requests that we can comment on, so that my comment above can be added there.

Suggestion no. 2: provide machine-readable descriptions of patterns. I stumbled across http://www.ottr.xyz/ recently, that might be of interest to you.

Suggestion no. 3: keep the description and motivation apart. I would reduce the description accordingly to just state that a In order to maintain references to a Resource exposed by a Service a copy of the resource is kept (Proxy Resource) in the Remote Service. Resources local to the Remote Services can link to the Proxy Resource, which is semantically equivalent to linking to an original Resource. A Proxy Resource maintains a link to the original Resource.

Finally, we are interested to clean up the demo OSLC servers in Lyo and this might be a good opportunity to join forces and make sure that the updated services use most appropriate patterns. What do you say?


Also, two more links:

–Andrew.


#4

These are all great ideas and questions. We should plan a kick-off of the User Group “Lifecycle Integration Patterns”.
In such a call, we could discuss how to proceed with the topic. User Groups in the past where managed by teams that came together on a regular basis (e.g. once or twice a month) to work on a subject. For the pattern topic, it could be more open and we could invite all stakeholder to submit patterns. A review team could look at the pattern and send feedback to the authors and assign maturity levels. In addition, the team also needs to promote the topics and encourage stakeholders to submit or help to submit patterns. The template probably needs to be worked on (incrementally) and some other ideas (e.g. machine readability) to be discussed and implemented.
When would be the right time for such a User Group kick-off? Is the way how we want to use Github wiki as infrastructure stable enough to go public?
I see basically three main areas for the User Group to work on: Governance (develop/enhance the pattern concept), Promotion (convince people to contribute), Quality Management (increase the maturity of the patterns).


#5

@rersch, @andrew, Scheduling a user group kick-off to address these questions sounds good. We could find a time that works for the three of us and invite others to join as well. I’m on Pacific (Los Angeles) time and could meet this Wednesday at 5pm Germany time / 6pm Ukraine or 8pm Germany time / 9pm Ukraine on Thursday. Another option is to do 10pm Pacific / 7am Germany / 8am Ukraine time on Thursday. Let me know what’s best. If this is too rushed, we could also kick this off in January.


#6

Welsey,

I apologise, I though I replied that I had too much on my plate this week. Shall we have a call next week?

/Andrew


#7

Hi Andrew, no problem at all. I can’t make it work this week and it seems best to find a time for a kickoff meeting in the new year. Does Wednesday, January 10th work for you and @rersch ?


#8

Hi Wesley, 10th of Jan may be problematic because our department will be on annual retreat outside the office on that day. How about Thursday 11th? I have OSLC core, domain, and query telcos that day so it will be good to merge that activity.

Happy holidays!


#9

Hi Andrew, could you do an evening call that day? 7pm Germany / 8pm Ukraine would work if you’re available.


#10

Thursday 11th would work for me, 7pm is fine too.


#11

Hi @rersch that time still works for me. @andrew can you confirm that time as well? Here’s a GTM link for the call: https://global.gotomeeting.com/join/736029669 and everyone interested in Lifecycle Integration Patterns is also welcome to join on Thursday, January 11th at 1pm Eastern / 7pm CET.


#12

My apologies, must have missed that notification email. Did you have a meeting and how did it go? I will look into patterns again in March. Do you get proper notifications from Discourse?


#13

Hi @andrew, no problem. I get email notifications from Discourse. Maybe there’s a setting that needs to be turned on?

One of our next steps is to interview folks to understand the real world examples of integration patterns implemented or desired to solve a particular integration problem. I’ll add you to an email thread about this so you can participate if you like.


#14

Thank you @Wesley, I am getting them now. I also got the email your cced me on, thank you. I think it is a great idea to start with the interviews.

Is it your main acct? I also see @wesley.coelho in the dropdown.


#15

Hi Andrew, ok great to have you involved in the interviews. Looks like @Wesley is the right one.