and then moved to Transportation & Logistics to finally IT.. what is next? • Software Engineer • Burgundian lifestyle Wikipedia tells us : 'enjoyment of life, good food, and extravagant spectacle'
› Impossible to store & forward electricity › Charge often (Limited Range) › Time to charge (from minutes to hours) › Compatibility (plugs, charging cables)
› To monitor a Charge Point (CP) network › Supports remote management › Track charging sessions • Including charge authorization & transaction storage › Multi-tenancy › 3rd party integration using Web Services (SOAP / REST)
JsonMapper() { super(); /** * De-Serialization options JSON -> OBJECT */ // - ignore unknown fields - otherwise the construction of the object will fail! this.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); // - make it possible to also construct empty objects this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); /** * Serialization options OBJECT -> JSON */ // properties with non-null values are to be included in the resulting JSON this.setSerializationInclusion(JsonInclude.Include.NON_NULL); } }
JSON resources.groovy beans = { // a preconfigured Jackson JSON mapper with defaults jsonMapper(JsonMapper){} } def jsonContent = “{'name': 'John Doe'}” Person person = jsonMapper.readValue(jsonContent, Person.class) Person person = new Person(name: 'John Doe') def jsonContent = jsonMapper.valueToTree(person)
us: › Tightly coupled › Poor test coverage › Spring project & Grails project › Adding functional value is just to much fun! • But... ready for round 2.. › Thanks to Grails we could refactor with great ease and speed!
plugin › Source WSDL: CustomerService.wsdl › Steps: • Create grails project • Install CXF plugin • Use WSDL2JAVA to generate web service implementation • Create Grails service that implements the web service interface • Test using SOAPUI
a client and a server › Providing full-duplex communication channel over a single TCP connection › HTTP upgrade by Protocol Negotiation › Firewall friendly! (port 80) › No reconnect handling or guaranteed message delivery