>  Inflight Asset Management

Nov 14, 2013
About us

Nov 14, 2013
Chart 2

Inflight Asset Management | Michael Wilmes
Passenger Airlines

§  Lufthansa - leading group of European quality carriers
§  more than 103 million passengers in 201...
Michael Wilmes

Solution architect @ BoardConnect

► michael.wilmes@lhsystems.com
► @theeagermichael

Nov 14, 2013
Chart 4...
The product

Nov 14, 2013
Chart 5

Inflight Asset Management | Michael Wilmes
Nov 14, 2013
Chart 6

Inflight Asset Management | Michael Wilmes
The problem

Nov 14, 2013
Chart 7

Inflight Asset Management | Michael Wilmes
Licenses

Content Items
Virtual Containers

Aircrafts

Business Rules

Hardware
Lifecycle information
Software
Nov 14, 201...
How to keep track of
what we rolled out?

Nov 14, 2013
Chart 9

Inflight Asset Management | Michael Wilmes
The questions

Nov 14, 2013
Chart 10

Inflight Asset Management | Michael Wilmes
Database
How to efficiently store and receive
complex data maintaining high performance?

Nov 14, 2013
Chart 11

Inflight ...
Access
How to provide easy access to data
backend via web proven technologies?

Nov 14, 2013
Chart 12

Inflight Asset Mana...
Visualization
How to visualize complex networks and
dependencies?

Nov 14, 2013
Chart 13

Inflight Asset Management | Mich...
The attitude

Nov 14, 2013
Chart 14

Inflight Asset Management | Michael Wilmes
Radical inclusion

Nov 14, 2013
Chart 15

Inflight Asset Management | Michael Wilmes
Acceptance
Accept the complexity and nature of the product.
Welcome data were possible.
Sense might not be immediately app...
Embrace change.
Product develops at a rapid change. Live with it.
Welcome connectivity.
API first. Make the added value ac...
The approach

Nov 14, 2013
Chart 18

Inflight Asset Management | Michael Wilmes
Features and
Requirements

Realtime access by
aircraft installations
and BC suppliers
Asset
Management

Operational
Databa...
Does the problem nature really differ from social networks?

Nov 14, 2013
Chart 20

Inflight Asset Management | Michael Wi...
Actually NO.
Big value lies in the relation of information.
Modern approachs targeting the social network world
might be e...
The architecture

Nov 14, 2013
Chart 22

Inflight Asset Management | Michael Wilmes
Aircraft
Data
Feed

misc.
ETL

Nov 14, 2013
Chart 23

Media
Library
Asset
Management

UI

Inflight Asset Management | Mich...
>  Development goals
easy deployment
ready for use instantly,
grows with the needs

WebService

Business Logic

low mainte...
The good thing?
§  We start from

Nov 14, 2013
Chart 25

Inflight Asset Management | Michael Wilmes
Nov 14, 2013
Chart 26

Inflight Asset Management | Michael Wilmes

(this is a blank page)
Spring Framework
Why?
§ Great community backing
§ Approaching today‘s problems
(NOSQL, Enterprise-Integration, REST, Big...
Neo4j Embedded
Why?
§ Puts the database back into the application domain.
§ Induces no additional restraints.
§ Avoidin...
Neo4j Embedded
Why?
A perfect match for the radical inclusion paradigm

Nov 14, 2013
Chart 29

Inflight Asset Management |...
Spring Data Neo4j
Why?
§ Allows for POJO domain based development
§ Natural extension of the Spring Data provided
progra...
Spring Data REST
Why?
§ Exposes domain objects using auto generated full
fledged CRUD controllers
§ Supports custom DAO ...
Thymeleaf
Why?
§ Natural templates. Finally.
§ It‘s HTML you write. Well layed out. Standalone.
§ Easy integration with...
Boostrap
Why?
§ Rapid UI development using CSS
§ Fallback to JS where needed
§ Responsive Web Design
§ Well establishe...
D3.js
Why?
§ Because it‘s awesome

Nov 14, 2013
Chart 34

Inflight Asset Management | Michael Wilmes
>  Layered architecture, self containment
Neo4j Embedded
Spring Data Neo4j
Spring Framework
Business Layer
Spring MVC

Spr...
The application

Nov 14, 2013
Chart 36

Inflight Asset Management | Michael Wilmes
>  Oh my.... A graph!
D3.js / Autocomplete

Direct access (AJAX)

Nov 14, 2013
Chart 37

Inflight Asset Management | Micha...
Implementation

Nov 14, 2013
Chart 38

Inflight Asset Management | Michael Wilmes
>  Use rich relations where possible

X

Aircraft-[:CONTAINS]->AccessPoint
Aircraft-[:CONTAINS]->Server

Aircraft-[r:CONTA...
>  Graph aware POJO using SDN
@NodeEntity
public abstract class AbstractAsset implements Asset, LastModifiedDateAware, Aut...
>  SDN provided ApplicationEventHandler (e.g. setting lifecycle properties)

@Override
public void onApplicationEvent(Befo...
...things get even better with
Neo4j 2.0 and SDN 3.0, especially
§  labels
§  optional constrains

Nov 14, 2013
Chart 42...
>  Thymeleaf integration

Nov 14, 2013
Chart 43

Inflight Asset Management | Michael Wilmes
Query examples

Nov 14, 2013
Chart 44

Inflight Asset Management | Michael Wilmes
>  Single question ! Single query ! Instant response…
► What aircrafts have to be supplied with a new SSD in order to remo...
>  Demo

Nov 14, 2013
Chart 46

Inflight Asset Management | Michael Wilmes
Q&A

Nov 14, 2013
Chart 47

Inflight Asset Management | Michael Wilmes
>  Ressources

Lufthansa Systems – http://www.lhsystems.com
Neo4j – http://www.neo4j.org
Spring – http://spring.io
Spring ...
Michael Wilmes

Solution architect @ BoardConnect

► michael.wilmes@lhsystems.com
► @theeagermichael

Nov 14, 2013
Chart 4...
Upcoming SlideShare
Loading in …5
×

In-Flight Asset Management with Neo4j - Michael Wilmes @ GraphConnect London 2013

5,940 views

Published on

Being part of a flagship project that brings next-generation Inflight-Entertainment systems onto passenger aircrafts, Michael Wilmes tackles the operational aspects of managing IT systems in flight, on ground and anywhere in between. He will give insight on what key factors made Neo4j the database of choice during development of a custom tailored asset management application and how Neo4j was integrated using technologies like Spring, Thymeleaf, Bootstrap and D3.js.

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,940
On SlideShare
0
From Embeds
0
Number of Embeds
970
Actions
Shares
0
Downloads
103
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

In-Flight Asset Management with Neo4j - Michael Wilmes @ GraphConnect London 2013

  1. 1. >  Inflight Asset Management Nov 14, 2013
  2. 2. About us Nov 14, 2013 Chart 2 Inflight Asset Management | Michael Wilmes
  3. 3. Passenger Airlines §  Lufthansa - leading group of European quality carriers §  more than 103 million passengers in 2012 Logistics §  Lufthansa Cargo AG - One of the world’s leading cargo airlines §  1,724 million tons of freight / mail shipped in 2012 IT Services §  Lufthansa Systems AG - One of the leading IT service providers for the airline and aviation industry §  Around 450 customers worldwide, more than 300 airlines Catering Maintenance, Repair & Overhaul (MRO) Nov 14, 2013 Chart 3 §  LSG Sky Chefs - The world’s largest airline caterer §  Provider of integrated inflight service solutions §  Lufthansa Technik - worldwide leading provider of maintenance, repair and overhaul services for civil aircraft §  More than 33 operating subsidiaries and affiliates Inflight Asset Management | Michael Wilmes
  4. 4. Michael Wilmes Solution architect @ BoardConnect ► michael.wilmes@lhsystems.com ► @theeagermichael Nov 14, 2013 Chart 4 Inflight Asset Management | Michael Wilmes
  5. 5. The product Nov 14, 2013 Chart 5 Inflight Asset Management | Michael Wilmes
  6. 6. Nov 14, 2013 Chart 6 Inflight Asset Management | Michael Wilmes
  7. 7. The problem Nov 14, 2013 Chart 7 Inflight Asset Management | Michael Wilmes
  8. 8. Licenses Content Items Virtual Containers Aircrafts Business Rules Hardware Lifecycle information Software Nov 14, 2013 Chart 8 Configuration Inflight Asset Management | Michael Wilmes
  9. 9. How to keep track of what we rolled out? Nov 14, 2013 Chart 9 Inflight Asset Management | Michael Wilmes
  10. 10. The questions Nov 14, 2013 Chart 10 Inflight Asset Management | Michael Wilmes
  11. 11. Database How to efficiently store and receive complex data maintaining high performance? Nov 14, 2013 Chart 11 Inflight Asset Management | Michael Wilmes
  12. 12. Access How to provide easy access to data backend via web proven technologies? Nov 14, 2013 Chart 12 Inflight Asset Management | Michael Wilmes
  13. 13. Visualization How to visualize complex networks and dependencies? Nov 14, 2013 Chart 13 Inflight Asset Management | Michael Wilmes
  14. 14. The attitude Nov 14, 2013 Chart 14 Inflight Asset Management | Michael Wilmes
  15. 15. Radical inclusion Nov 14, 2013 Chart 15 Inflight Asset Management | Michael Wilmes
  16. 16. Acceptance Accept the complexity and nature of the product. Welcome data were possible. Sense might not be immediately apparent. Nov 14, 2013 Chart 16 Inflight Asset Management | Michael Wilmes
  17. 17. Embrace change. Product develops at a rapid change. Live with it. Welcome connectivity. API first. Make the added value accessible. Nov 14, 2013 Chart 17 Inflight Asset Management | Michael Wilmes
  18. 18. The approach Nov 14, 2013 Chart 18 Inflight Asset Management | Michael Wilmes
  19. 19. Features and Requirements Realtime access by aircraft installations and BC suppliers Asset Management Operational Database Constant performance independant of query type and size of dependency trees Horizontal scaleout possibility Schema agility to easily accomodate product innovations. Complete Real-World view of BoardConnect environment as it IS. Master Data Management Configuration Database Realtime access for unattended device configuration Nov 14, 2013 Chart 19 Inflight Asset Management | Michael Wilmes
  20. 20. Does the problem nature really differ from social networks? Nov 14, 2013 Chart 20 Inflight Asset Management | Michael Wilmes
  21. 21. Actually NO. Big value lies in the relation of information. Modern approachs targeting the social network world might be equally well suited to asset management problem scopes. Nov 14, 2013 Chart 21 Inflight Asset Management | Michael Wilmes
  22. 22. The architecture Nov 14, 2013 Chart 22 Inflight Asset Management | Michael Wilmes
  23. 23. Aircraft Data Feed misc. ETL Nov 14, 2013 Chart 23 Media Library Asset Management UI Inflight Asset Management | Michael Wilmes REST API CMDB CMS
  24. 24. >  Development goals easy deployment ready for use instantly, grows with the needs WebService Business Logic low maintenance efforts, low cost development maps reality 1:1 easy visualization whiteboard friendly (instant documentation) Nov 14, 2013 Chart 24 Inflight Asset Management | Michael Wilmes Embedded Database embraces change
  25. 25. The good thing? §  We start from Nov 14, 2013 Chart 25 Inflight Asset Management | Michael Wilmes
  26. 26. Nov 14, 2013 Chart 26 Inflight Asset Management | Michael Wilmes (this is a blank page)
  27. 27. Spring Framework Why? § Great community backing § Approaching today‘s problems (NOSQL, Enterprise-Integration, REST, Big Data) § Lightweight deployment Nov 14, 2013 Chart 27 Inflight Asset Management | Michael Wilmes
  28. 28. Neo4j Embedded Why? § Puts the database back into the application domain. § Induces no additional restraints. § Avoiding dead-ends. Provides capable foundation for future queries not yet foreseen. § „What you see is what it is“. Transparency. Nov 14, 2013 Chart 28 Inflight Asset Management | Michael Wilmes
  29. 29. Neo4j Embedded Why? A perfect match for the radical inclusion paradigm Nov 14, 2013 Chart 29 Inflight Asset Management | Michael Wilmes
  30. 30. Spring Data Neo4j Why? § Allows for POJO domain based development § Natural extension of the Spring Data provided programming model § Provides a high level uniform access to the persistence layer while allowing core-API fallback Nov 14, 2013 Chart 30 Inflight Asset Management | Michael Wilmes
  31. 31. Spring Data REST Why? § Exposes domain objects using auto generated full fledged CRUD controllers § Supports custom DAO queries § Keeps you API on par with your ever evolving domain model Nov 14, 2013 Chart 31 Inflight Asset Management | Michael Wilmes
  32. 32. Thymeleaf Why? § Natural templates. Finally. § It‘s HTML you write. Well layed out. Standalone. § Easy integration with Spring MVC § Easy to learn and well documented Nov 14, 2013 Chart 32 Inflight Asset Management | Michael Wilmes
  33. 33. Boostrap Why? § Rapid UI development using CSS § Fallback to JS where needed § Responsive Web Design § Well established framework Nov 14, 2013 Chart 33 Inflight Asset Management | Michael Wilmes
  34. 34. D3.js Why? § Because it‘s awesome Nov 14, 2013 Chart 34 Inflight Asset Management | Michael Wilmes
  35. 35. >  Layered architecture, self containment Neo4j Embedded Spring Data Neo4j Spring Framework Business Layer Spring MVC Spring Data REST Thymeleaf Bootstrap Nov 14, 2013 Chart 35 D3.js Inflight Asset Management | Michael Wilmes } .jar
  36. 36. The application Nov 14, 2013 Chart 36 Inflight Asset Management | Michael Wilmes
  37. 37. >  Oh my.... A graph! D3.js / Autocomplete Direct access (AJAX) Nov 14, 2013 Chart 37 Inflight Asset Management | Michael Wilmes springdata REST
  38. 38. Implementation Nov 14, 2013 Chart 38 Inflight Asset Management | Michael Wilmes
  39. 39. >  Use rich relations where possible X Aircraft-[:CONTAINS]->AccessPoint Aircraft-[:CONTAINS]->Server Aircraft-[r:CONTAINS_BCAP]->AccessPoint Aircraft-[r:CONTAINS_BCS]->Server Nov 14, 2013 Chart 39 Inflight Asset Management | Michael Wilmes
  40. 40. >  Graph aware POJO using SDN @NodeEntity public abstract class AbstractAsset implements Asset, LastModifiedDateAware, Authored { @GraphId private Long nodeId; @NotNull @Indexed(unique = true, level=Level.INSTANCE) private String uuid; @NotNull @Size(min = 3, max = 50) @Indexed(level=Level.INSTANCE) private String name; private Date dateLastModified; Nov 14, 2013 Chart 40 Inflight Asset Management | Michael Wilmes
  41. 41. >  SDN provided ApplicationEventHandler (e.g. setting lifecycle properties) @Override public void onApplicationEvent(BeforeSaveEvent event) ... { LastModifiedDateAware entity = (LastModifiedDateAware) event.getEntity(); entity.setDateLastModified(new Date()); … } Nov 14, 2013 Chart 41 Inflight Asset Management | Michael Wilmes
  42. 42. ...things get even better with Neo4j 2.0 and SDN 3.0, especially §  labels §  optional constrains Nov 14, 2013 Chart 42 Inflight Asset Management | Michael Wilmes
  43. 43. >  Thymeleaf integration Nov 14, 2013 Chart 43 Inflight Asset Management | Michael Wilmes
  44. 44. Query examples Nov 14, 2013 Chart 44 Inflight Asset Management | Michael Wilmes
  45. 45. >  Single question ! Single query ! Instant response… ► What aircrafts have to be supplied with a new SSD in order to remove the movie from being shown to public? ► Are all licenses present that are needed for playback of all movies inside the freshly inserted hard drive on aircraft? match (bcs)-[:INSTALLED_IN]-()-[:CLONED_FROM]->()-[CONTAINS*]->(video)-->(license) where bcs.name=… return license Nov 14, 2013 Chart 45 Inflight Asset Management | Michael Wilmes
  46. 46. >  Demo Nov 14, 2013 Chart 46 Inflight Asset Management | Michael Wilmes
  47. 47. Q&A Nov 14, 2013 Chart 47 Inflight Asset Management | Michael Wilmes
  48. 48. >  Ressources Lufthansa Systems – http://www.lhsystems.com Neo4j – http://www.neo4j.org Spring – http://spring.io Spring Data Neo4j - http://www.neo4j.org/develop/spring Spring Data REST - http://projects.spring.io/spring-data-rest Thymeleaf - http://www.thymeleaf.org D3.js - http://d3js.org Bootstrap - http://getbootstrap.com Nov 14, 2013 Chart 48 Inflight Asset Management | Michael Wilmes
  49. 49. Michael Wilmes Solution architect @ BoardConnect ► michael.wilmes@lhsystems.com ► @theeagermichael Nov 14, 2013 Chart 49 Inflight Asset Management | Michael Wilmes

×