Ok, thanks for the clarification. Heath On 23/03/2012 10:28 PM, "Seref Arikan" <serefarikan at kurumsalteknoloji.com> wrote:
> Hi Heath, > Just to clarify: my original issue is not about auto generation of classes > from XSD, whether or not one choses to do that is irrelevant if the XSD > itself is not supporting generics. The problem is with the XSD (not having > support for generics) and it may or may not cascade to programming language > space. > > Separately, I agree with you on not taking XSD and code generation as the > basis of RM implementation, and I am neither following nor suggesting this > route. > > At the moment, I am connecting Rong's implementation to JAXB, which is my > choice of design to handle XML related functionality in Java RM. > > I find these discussions very helpful, even though they have a tendency to > fork, but hey, this is why have the groups :) > > Kind regards > Seref > > > On Fri, Mar 23, 2012 at 12:09 PM, Heath Frankel < > heath.frankel at oceaninformatics.com> wrote: > >> I think the topic has drifted slight from Seref's original issue, >> although Java nor c# can not implement generics as well as Eiffel or as >> intended by the spec author it is possible to get close enough to be >> usable. Similar implementation decisions were necessary when specifying the >> XML schema and again it is close enough to be usable. >> My understanding of Seref's original issue is the auto generation of Java >> classes from the XML schema using frameworks like jaxb and .Net. I >> personally think this is the wrong way around when it comes to the RM >> classes. I know every developer can do it better than the next but any >> developer can do it better than a tool. If you are going to invest in >> implementing openEHR you should take the time to get a good implentation of >> the building blocks by adopting and contributing to an existing >> implementation in your preferred language or do it yourself better than >> everyone else. >> Cutting corners by using a tool will result in you throwing away the >> approach and doing it properly later anyway (been there done that). >> The only tool that maybe plausible is an openEHR specific class generator >> for writing jaxb web services that are driven from AOM, not some generic >> XML tool that is not designed to handle the genericity and use of abstract >> types as used in openEHR and not able to be expressed in XML schema. >> Ocean has been auto generating template data schema and template data >> classes for use in working systems for several years, they provide great >> benefit but need further work to make the generated artifacts simpler, >> flatter and more usable including with tools such as jaxb and mapforce. We >> need help to make this happen. >> The problem is that everytime we remove complexity we come across a >> requirement for the complexity and end up with something closer to the RM >> again. >> So yes we need to make the entry point to use openEHR lower, but we do >> this by comprising the capability of the resulting solution. >> >> Anyway in conclusion I believe we need to keep the RM specs logical, have >> technical specs for serialisation such as XML and ADL, class >> implementations in strongly typed OO languages and dynamic languages. >> Persistence is another technical group of specs. But I think we should not >> mix serialization with class implematation or persistence, except for >> stating an anti pattern of using XML tools to generate a class >> implementation. >> >> Heath >> On 23/03/2012 12:11 AM, "Seref Arikan" < >> serefarikan@?kurumsalteknoloji.com <serefarikan at kurumsalteknoloji.com>> >> wrote: >> >>> I should have been more specific. Generics in collections is a managable >>> issue :) and yes, I would not like to go back to non-generic collections >>> either.. >>> >>> >>> On Thu, Mar 22, 2012 at 2:26 PM, Thomas Beale < >>> thomas.beale@?oceaninformatics.com <thomas.beale at >>> oceaninformatics.com>>wrote: >>> >>>> >>>> I have to say, software development would be absolutely dire from my >>>> point of view without one particular generic type: Hash<T, K>. That really >>>> would destroy nearly every class I have ever written! >>>> >>>> - thomas >>>> >>>> >>>> On 22/03/2012 01:47, Shinji KOBAYASHI wrote: >>>> >>>> Hi Peter, >>>> >>>> 2012/3/22 Peter Gummer <peter.gummer@??oceaninformatics.com> <peter.gummer >>>> at oceaninformatics.com>: >>>> >>>> Shinji KOBAYASHI wrote: >>>> >>>> >>>> Ruby implementation might be one of the proof for replace of generics. >>>> I had much struggled to implement generics and got the conclusion >>>> that we do not need it. >>>> >>>> Ruby doesn't have generics at all, right, Shinji? >>>> >>>> It is right. I felt generics is very convenient, when I used Java, such as >>>> >>>> Iterator<DvText> it = someRmArrayInstance.iterator() >>>> >>>> But I found it must be cut off by 'Occam's razor' in Ruby. >>>> >>>> it = some_rm_array.iterator >>>> >>>> This code looks curious for Java/Eiffel/C# user who are similar to >>>> generics, >>>> but it is enough for encapsulated object instance. >>>> I think this depends on language environment, but nested generics seems >>>> complicated codes for me. >>>> >>>> List <Map <Integer, String>> >>>> >>>> Generics is useful to declare what instance is, but it breaks >>>> encapsulation. >>>> As regards to Bartrand Meyer's paper, 'a good balance' is a good design. >>>> >>>> Cheers, >>>> Shinji >>>> >>>> >>>> There's a comparison of generics and inheritance in an appendix of >>>> Bertrand Meyer's "Object Oriented Software Construction", 2nd edition. >>>> (http://se.ethz.ch/~meyer/??publications/acm/geninh.pdf >>>> <http://se.ethz.ch/%7Emeyer/publications/acm/geninh.pdf> seems to be the >>>> original paper that the appendix is based upon.) >>>> >>>> Generics can be simulated in a language with inheritance, but there is a >>>> cost: >>>> * Duplication of code. >>>> * Extra verbosity. >>>> >>>> I don't want to have either forced upon me. If I'm unfortunately forced to >>>> use a language that doesn't support generics, then I can always simulate >>>> it the generics with inheritance. But I certainly wouldn't want the specs >>>> to be obfuscated by hacks like that, thanks very much ;-) >>>> >>>> Peter >>>> ______________________________??_________________ >>>> openEHR-technical mailing list >>>> openEHR-technical at lists.??openehr.org <openEHR-technical at >>>> lists.openehr.org>http://lists.openehr.org/??mailman/listinfo/openehr-??technical_lists.openehr.org >>>> >>>> <http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org> >>>> >>>> ______________________________??_________________ >>>> openEHR-technical mailing listopenEHR-technical at lists.??openehr.org >>>> <openEHR-technical at >>>> lists.openehr.org>http://lists.openehr.org/??mailman/listinfo/openehr-??technical_lists.openehr.org >>>> >>>> <http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org> >>>> >>>> >>>> >>>> -- >>>> [image: Ocean Informatics] *Thomas Beale >>>> Chief Technology Officer, Ocean >>>> Informatics<http://www.oceaninformatics.com/> >>>> * >>>> >>>> Chair Architectural Review Board, *open*EHR >>>> Foundation<http://www.openehr.org/> >>>> Honorary Research Fellow, University College >>>> London<http://www.chime.ucl.ac.uk/> >>>> Chartered IT Professional Fellow, BCS, British Computer >>>> Society<http://www.bcs.org.uk/> >>>> Health IT blog <http://www.wolandscat.net/> >>>> * >>>> * >>>> >>>> ______________________________?_________________ >>>> openEHR-technical mailing list >>>> openEHR-technical at lists.?openehr.org<openEHR-technical at >>>> lists.openehr.org> >>>> >>>> http://lists.openehr.org/?mailman/listinfo/openehr-?technical_lists.openehr.org<http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org> >>>> >>> >>> >>> ______________________________?_________________ >>> openEHR-technical mailing list >>> openEHR-technical at lists.?openehr.org<openEHR-technical at >>> lists.openehr.org> >>> >>> http://lists.openehr.org/?mailman/listinfo/openehr-?technical_lists.openehr.org<http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org> >>> >> >> _______________________________________________ >> openEHR-technical mailing list >> openEHR-technical at lists.openehr.org >> >> http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org >> > > > _______________________________________________ > openEHR-technical mailing list > openEHR-technical at lists.openehr.org > > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20120324/836e7eb0/attachment-0001.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: ocean_full_small.jpg Type: image/jpeg Size: 5828 bytes Desc: not available URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20120324/836e7eb0/attachment-0001.jpg>