Diskussion:Release 0.4: Unterschied zwischen den Versionen
Aus DRV STRING
(First impressions of prorgamming with the API.) |
K |
||
Zeile 10: | Zeile 10: | ||
** It just causes names to be longer without any additional information. | ** It just causes names to be longer without any additional information. | ||
** It makes code completion features in IDEs difficult to use, if everything starts with "String...". | ** It makes code completion features in IDEs difficult to use, if everything starts with "String...". | ||
+ | * The same argument applies for the suffix "Type" on many types. | ||
+ | ** We should remove this, too. | ||
+ | ** Example "StringBookingResponseType" -> "BookingResponse" | ||
* Maybe we can get rid of redundant collection containers, i.e. if we have a ''<services/>'' element we do not need a ''<service/>'' element below that which in turn contains the concrete element ''<Accommodation/>'' . We should eliminate the generic ''<service/>'' element in between: | * Maybe we can get rid of redundant collection containers, i.e. if we have a ''<services/>'' element we do not need a ''<service/>'' element below that which in turn contains the concrete element ''<Accommodation/>'' . We should eliminate the generic ''<service/>'' element in between: | ||
Version vom 27. März 2017, 09:40 Uhr
To get a feel for the API I created a temporary WSDL with two operations "quote" and "book". From this I created a dummy java web application (WAR) using "wsimport" and played around with it a little.
Here are my first impressions and suggestions:
- Generation of code works fine with only one little problem:
- There are a few abstract types in the definitions, e.g. "StringCommonTravellerType". This prevented travellers to be created from the input xml request at runtime.
- So for the time being, I removed all four "abstract=true" statements in my local copy of the xsds. We should look into this.
- We should get rid of the "String"-Prefix of every type name.
- It just causes names to be longer without any additional information.
- It makes code completion features in IDEs difficult to use, if everything starts with "String...".
- The same argument applies for the suffix "Type" on many types.
- We should remove this, too.
- Example "StringBookingResponseType" -> "BookingResponse"
- Maybe we can get rid of redundant collection containers, i.e. if we have a <services/> element we do not need a <service/> element below that which in turn contains the concrete element <Accommodation/> . We should eliminate the generic <service/> element in between:
Currently we have to write:
<ns2:Services> <ns2:Service> <ns2:Accommodation> <ns2:Identifier>DUMMY_TEST_RESULT</ns2:Identifier> <ns2:EndDate xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <ns2:Stay xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </ns2:Accommodation> </ns2:Service> </ns2:Services>
Which could be written more concise as:
<ns2:Services> <ns2:Accommodation> <ns2:Identifier>DUMMY_TEST_RESULT</ns2:Identifier> <ns2:EndDate xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <ns2:Stay xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </ns2:Accommodation> </ns2:Services>