Enterprise graph applications
Upcoming SlideShare
Loading in...5
×
 

Enterprise graph applications

on

  • 489 views

The opportunities to enhance today's enterprise applications with graph database technologies are out there - and now there is a way to implement graph applications quickly with the xnlogic framework.

The opportunities to enhance today's enterprise applications with graph database technologies are out there - and now there is a way to implement graph applications quickly with the xnlogic framework.

Statistics

Views

Total Views
489
Views on SlideShare
481
Embed Views
8

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 8

https://twitter.com 6
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Enterprise graph applications Presentation Transcript

  • 1. Graph
  • 2.   Applications
  • 3.   for
  • 4.   the
  • 5.    Enterprise,
  • 6.   FAST David
  • 7.   Colebatch
  • 8.   
  • 9.   
  • 10.    @dcolebatch dc@xnlogic.com
  • 11.   
  • 12.   
  • 13.   
  • 14.    Wednesday, 6 November, 13
  • 15. Who
  • 16.   Are
  • 17.   We? • Toronto-based Graph Database services company • Partner with Neo Technology • Organizers of GraphTO GraphTO • Authors of the popular Pacer gem, an extensible graph traversal library David
  • 18.   Colebatch
  • 19.   
  • 20.   
  • 21.   dc@xnlogic.com
  • 22.   
  • 23.   
  • 24.   
  • 25.   @dcolebatch Wednesday, 6 November, 13
  • 26. Enterprise
  • 27.   Application
  • 28.   Examples David
  • 29.   Colebatch
  • 30.   
  • 31.   
  • 32.   dc@xnlogic.com
  • 33.   
  • 34.   
  • 35.   
  • 36.   @dcolebatch Wednesday, 6 November, 13
  • 37. CRM P ERccounting A MRP PLM MDM AMDB CMDB Wednesday, 6 November, 13 Inventory Excel
  • 38. MRP PLM MDM CRM P ERccounting A AMDB CMDB Wednesday, 6 November, 13 Inventory Excel
  • 39. The
  • 40.   Zone
  • 41.   of
  • 42.   SQL
  • 43.   Adequacy SQL database Performance Requirement of application Data complexity Wednesday, 6 November, 13
  • 44. The
  • 45.   Zone
  • 46.   of
  • 47.   SQL
  • 48.   Adequacy SQL database Performance Requirement of application Data complexity Wednesday, 6 November, 13
  • 49. The
  • 50.   Zone
  • 51.   of
  • 52.   SQL
  • 53.   Adequacy SQL database Requirement of application Performance Salary List ERP CRM Data complexity Wednesday, 6 November, 13
  • 54. The
  • 55.   Zone
  • 56.   of
  • 57.   SQL
  • 58.   Adequacy Social SQL database Requirement of application Geo Performance Salary List Network / Cloud Management ERP MDM CRM Data complexity Wednesday, 6 November, 13
  • 59. The
  • 60.   Zone
  • 61.   of
  • 62.   SQL
  • 63.   Adequacy Social SQL database Requirement of application Geo Performance Salary List Network / Cloud Management ERP MDM CRM Data complexity Wednesday, 6 November, 13
  • 64. Configuration
  • 65.   Management Wednesday, 6 November, 13
  • 66. Configuration
  • 67.   Management Wednesday, 6 November, 13
  • 68. Configuration
  • 69.   Management Wednesday, 6 November, 13
  • 70. Configuration
  • 71.   Management Wednesday, 6 November, 13
  • 72. Enterprise
  • 73.   Application
  • 74.   #fails David
  • 75.   Colebatch
  • 76.   
  • 77.   
  • 78.   dc@xnlogic.com
  • 79.   
  • 80.   
  • 81.   
  • 82.   @dcolebatch Wednesday, 6 November, 13
  • 83. Enterprise
  • 84.   Application
  • 85.   #fails Often CRUD Only • • One screen for each record type UI maps to table structure • ...or rather, is constrained by the table structure David
  • 86.   Colebatch
  • 87.   
  • 88.   
  • 89.   dc@xnlogic.com
  • 90.   
  • 91.   
  • 92.   
  • 93.   @dcolebatch Wednesday, 6 November, 13
  • 94. Enterprise
  • 95.   Application
  • 96.   #fails Relationships to one-degree • • • “This thing is related to that thing” Slow to traverse relationships Inhibits discovery by serendipity David
  • 97.   Colebatch
  • 98.   
  • 99.   
  • 100.   dc@xnlogic.com
  • 101.   
  • 102.   
  • 103.   
  • 104.   @dcolebatch Wednesday, 6 November, 13
  • 105. Configuration
  • 106.   Management Wednesday, 6 November, 13
  • 107. So
  • 108.   what’s
  • 109.   the
  • 110.   solution? David
  • 111.   Colebatch
  • 112.   
  • 113.   
  • 114.   dc@xnlogic.com
  • 115.   
  • 116.   
  • 117.   
  • 118.   @dcolebatch Wednesday, 6 November, 13
  • 119. David
  • 120.   Colebatch
  • 121.   
  • 122.   
  • 123.   dc@xnlogic.com
  • 124.   
  • 125.   
  • 126.   
  • 127.   @dcolebatch Wednesday, 6 November, 13
  • 128. Manager/Client:
  • 129.   
  • 130.   “But
  • 131.   it’s
  • 132.   new...” • Only 32% of software projects considered successful • • 44% are considered “challenged” 24% never get completed • 50% for project > $1mil David
  • 133.   Colebatch
  • 134.   
  • 135.   
  • 136.   dc@xnlogic.com
  • 137.   
  • 138.   
  • 139.   
  • 140.   @dcolebatch Wednesday, 6 November, 13
  • 141. Gather Requirements Define Data Model Define Security Constraints Iterate! Develop Business Logic Implement API Implement UI Test Training Acceptance. Go/No Go David
  • 142.   Colebatch
  • 143.   
  • 144.   
  • 145.   dc@xnlogic.com
  • 146.   
  • 147.   
  • 148.   
  • 149.   @dcolebatch Wednesday, 6 November, 13
  • 150. Gather Requirements Define Data Model Define Security Constraints Iterate! Develop Business Logic Implement API Implement UI Test Training Acceptance. Go/No Go David
  • 151.   Colebatch
  • 152.   
  • 153.   
  • 154.   dc@xnlogic.com
  • 155.   
  • 156.   
  • 157.   
  • 158.   @dcolebatch Wednesday, 6 November, 13
  • 159. Gather Requirements Define Data Model Define Security Constraints Iterate! Develop Business Logic Implement API Implement UI Test Training Acceptance. Go/No Go David
  • 160.   Colebatch
  • 161.   
  • 162.   
  • 163.   dc@xnlogic.com
  • 164.   
  • 165.   
  • 166.   
  • 167.   @dcolebatch Wednesday, 6 November, 13
  • 168. So
  • 169.   what’s
  • 170.   the
  • 171.   solution? David
  • 172.   Colebatch
  • 173.   
  • 174.   
  • 175.   dc@xnlogic.com
  • 176.   
  • 177.   
  • 178.   
  • 179.   @dcolebatch Wednesday, 6 November, 13
  • 180. David
  • 181.   Colebatch
  • 182.   
  • 183.   
  • 184.   dc@xnlogic.com
  • 185.   
  • 186.   
  • 187.   
  • 188.   @dcolebatch Wednesday, 6 November, 13
  • 189. David
  • 190.   Colebatch
  • 191.   
  • 192.   
  • 193.   dc@xnlogic.com
  • 194.   
  • 195.   
  • 196.   
  • 197.   @dcolebatch Wednesday, 6 November, 13
  • 198. The
  • 199.   xnlogic
  • 200.   framework • • • RESTful API driven application framework Declare your model, define your business logic Framework then produces a domain-specific JSON and xml api David
  • 201.   Colebatch
  • 202.   
  • 203.   
  • 204.   dc@xnlogic.com
  • 205.   
  • 206.   
  • 207.   
  • 208.   @dcolebatch Wednesday, 6 November, 13
  • 209. Advanced
  • 210.   Features • • • • Composable models vs Inheritance Fine-grained security History Graph for temporal queries Multi-tenant: • • One framework, multiple applications Customer segregation David
  • 211.   Colebatch
  • 212.   
  • 213.   
  • 214.   dc@xnlogic.com
  • 215.   
  • 216.   
  • 217.   
  • 218.   @dcolebatch Wednesday, 6 November, 13
  • 219. Composable
  • 220.   Parts Person Business ContactDetails ContactDetails HasAccounts HasAccounts HasEmployer CorporateDetails HasFriends Jurisdiction Employer David
  • 221.   Colebatch
  • 222.   
  • 223.   
  • 224.   dc@xnlogic.com
  • 225.   
  • 226.   
  • 227.   
  • 228.   @dcolebatch Wednesday, 6 November, 13
  • 229. Composable
  • 230.   Parts Person Business ContactDetails ContactDetails HasAccounts HasAccounts HasEmployer CorporateDetails HasFriends Jurisdiction Employer David
  • 231.   Colebatch
  • 232.   
  • 233.   
  • 234.   dc@xnlogic.com
  • 235.   
  • 236.   
  • 237.   
  • 238.   @dcolebatch Wednesday, 6 November, 13
  • 239. • Composition promotes code reuse (DRY) • Here, color shows the delta between a Person and a Business model (Hypothetical) • User permissions are tied to the “Part” • Parts define properties, relationships, actions and traversals David
  • 240.   Colebatch
  • 241.   
  • 242.   
  • 243.   dc@xnlogic.com
  • 244.   
  • 245.   
  • 246.   
  • 247.   @dcolebatch Wednesday, 6 November, 13
  • 248. Simple
  • 249.   Part
  • 250.   Definitions module YourApplication module ContactDetails pacer_vertex property :address, type: :text property :lat, type: :numeric property :lon, type: :numeric end end module YourApplication module HasEmployer pacer_vertex to_one :employer end end David
  • 251.   Colebatch
  • 252.   
  • 253.   
  • 254.   dc@xnlogic.com
  • 255.   
  • 256.   
  • 257.   
  • 258.   @dcolebatch Wednesday, 6 November, 13
  • 259. RESTful
  • 260.   API David
  • 261.   Colebatch
  • 262.   
  • 263.   
  • 264.   dc@xnlogic.com
  • 265.   
  • 266.   
  • 267.   
  • 268.   @dcolebatch Wednesday, 6 November, 13
  • 269. Self
  • 270.   Describing,
  • 271.   Domain
  • 272.   Specific
  • 273.   API GET /is [ 'contact_details', 'has_accounts', 'has_employer', 'has_friends', 'corporate_details', 'jurisdiction'] GET /model [ 'person', 'business'] Parts The building blocks of your application Models Composed of Parts David
  • 274.   Colebatch
  • 275.   
  • 276.   
  • 277.   dc@xnlogic.com
  • 278.   
  • 279.   
  • 280.   
  • 281.   @dcolebatch Wednesday, 6 November, 13
  • 282. Metadata
  • 283.   Driven GET /is/contact_details/metadata { update_access: true, create_access: true, delete_access: true, parts: [ 'record', 'contact_details' ], descriptive_parts: [ 'contact_details' ], properties: { name: { name: 'name', label: 'Name', type: 'text', unit: null, default: null, validations: { allow_blank: true }, part: 'record', index: true }, ... Includes: 1)Current-user’s access rights 2)Property definitions 3)Relationship definitions 4)Validation rules 5)Actions/Jobs 6)Queries/Traversals David
  • 284.   Colebatch
  • 285.   
  • 286.   
  • 287.   dc@xnlogic.com
  • 288.   
  • 289.   
  • 290.   
  • 291.   @dcolebatch Wednesday, 6 November, 13
  • 292. Built-in
  • 293.   Documentation GET /is/contact_details/metadata/doc David
  • 294.   Colebatch
  • 295.   
  • 296.   
  • 297.   dc@xnlogic.com
  • 298.   
  • 299.   
  • 300.   
  • 301.   @dcolebatch Wednesday, 6 November, 13
  • 302. URLs
  • 303.   map
  • 304.   to
  • 305.   Traversals GET /model/person/rel/employer [ { meta: { xnid: '/model/business/2028', model_name: 'business', rendered: [ 'record', 'contact_details', ‘has_accounts’, ‘corporate_details’], format: 'partial' }, id: 2028, name: 'Acme Bank', rel: {}, description: 'A very large FI.', created_at: ‘2012-10-02 12:07:31, updated_at: null, address: '88 Fairtrade Blvd., NYC.', lat: '40.755622', lon: '-73.977221', company_url: 'http://www.acme.com', display_name: 'FI - US - ACME' ...}, Returns: 1)All employers of all people David
  • 306.   Colebatch
  • 307.   
  • 308.   
  • 309.   dc@xnlogic.com
  • 310.   
  • 311.   
  • 312.   
  • 313.   @dcolebatch Wednesday, 6 November, 13
  • 314. Limitless
  • 315.   Queries /model/person/filter/name/rel/employ ?name[regex]=J.*B David
  • 316.   Colebatch
  • 317.   
  • 318.   
  • 319.   dc@xnlogic.com
  • 320.   
  • 321.   
  • 322.   
  • 323.   @dcolebatch Wednesday, 6 November, 13
  • 324. Limitless
  • 325.   Queries /model/person/filter/name/rel/employer/rel/customer ?name[regex]=J.*Bloggs David
  • 326.   Colebatch
  • 327.   
  • 328.   
  • 329.   dc@xnlogic.com
  • 330.   
  • 331.   
  • 332.   
  • 333.   @dcolebatch Wednesday, 6 November, 13
  • 334. Limitless
  • 335.   Queries /model/person/filter/name/rel/employer/rel/customer/filter/relate ?relat David
  • 336.   Colebatch
  • 337.   
  • 338.   
  • 339.   dc@xnlogic.com
  • 340.   
  • 341.   
  • 342.   
  • 343.   @dcolebatch Wednesday, 6 November, 13
  • 344. Limitless
  • 345.   Queries n/filter/name/rel/employer/rel/customer/filter/related_employer ?related_employer David
  • 346.   Colebatch
  • 347.   
  • 348.   
  • 349.   dc@xnlogic.com
  • 350.   
  • 351.   
  • 352.   
  • 353.   @dcolebatch Wednesday, 6 November, 13
  • 354. Limitless
  • 355.   Queries rel/employer/rel/customer/filter/related_employer ...&related_employer[id]=972 David
  • 356.   Colebatch
  • 357.   
  • 358.   
  • 359.   dc@xnlogic.com
  • 360.   
  • 361.   
  • 362.   
  • 363.   @dcolebatch Wednesday, 6 November, 13
  • 364. So
  • 365.   What? David
  • 366.   Colebatch
  • 367.   
  • 368.   
  • 369.   dc@xnlogic.com
  • 370.   
  • 371.   
  • 372.   
  • 373.   @dcolebatch Wednesday, 6 November, 13
  • 374. So
  • 375.   What? • • Eliminate “infrastructure” development cycles Bootstrap HTML5 User Interface David
  • 376.   Colebatch
  • 377.   
  • 378.   
  • 379.   dc@xnlogic.com
  • 380.   
  • 381.   
  • 382.   
  • 383.   @dcolebatch Wednesday, 6 November, 13
  • 384. So
  • 385.   What? • • Eliminate “infrastructure” development cycles • Shorter Time To Market Bootstrap HTML5 User Interface David
  • 386.   Colebatch
  • 387.   
  • 388.   
  • 389.   dc@xnlogic.com
  • 390.   
  • 391.   
  • 392.   
  • 393.   @dcolebatch Wednesday, 6 November, 13
  • 394. So
  • 395.   What? • • Eliminate “infrastructure” development cycles • • Shorter Time To Market Bootstrap HTML5 User Interface Software Project Risk Reduction David
  • 396.   Colebatch
  • 397.   
  • 398.   
  • 399.   dc@xnlogic.com
  • 400.   
  • 401.   
  • 402.   
  • 403.   @dcolebatch Wednesday, 6 November, 13
  • 404. So
  • 405.   What? • • Eliminate “infrastructure” development cycles • • • Shorter Time To Market Bootstrap HTML5 User Interface Software Project Risk Reduction Powered by Graph™ - Answer the hard Q’s David
  • 406.   Colebatch
  • 407.   
  • 408.   
  • 409.   dc@xnlogic.com
  • 410.   
  • 411.   
  • 412.   
  • 413.   @dcolebatch Wednesday, 6 November, 13
  • 414. Quick
  • 415.   Example David
  • 416.   Colebatch
  • 417.   
  • 418.   
  • 419.   dc@xnlogic.com
  • 420.   
  • 421.   
  • 422.   
  • 423.   @dcolebatch Wednesday, 6 November, 13
  • 424. Questions? David
  • 425.   Colebatch
  • 426.   
  • 427.   
  • 428.   dc@xnlogic.com
  • 429.   
  • 430.   
  • 431.   
  • 432.   @dcolebatch Wednesday, 6 November, 13
  • 433. Graph
  • 434.   Applications
  • 435.   for
  • 436.   the
  • 437.    Enterprise,
  • 438.   FAST David
  • 439.   Colebatch
  • 440.   
  • 441.   
  • 442.    @dcolebatch dc@xnlogic.com
  • 443.   
  • 444.   
  • 445.   
  • 446.    Wednesday, 6 November, 13
  • 447. Resources xnlogic.com github.com/pangloss/pacer meetup.com/GraphTO David
  • 448.   Colebatch
  • 449.   
  • 450.   
  • 451.   dc@xnlogic.com
  • 452.   
  • 453.   
  • 454.   
  • 455.   @dcolebatch Wednesday, 6 November, 13