Encompassing Information Integration

1,627 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,627
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Encompassing Information Integration

  1. 1. Encompassing Information Integration Filip Nguyen QA Engineer Red Hat
  2. 2. Agenda● What is Teiid● Basic Usage● Teiid Tooling● Short File Demo● Teiid Internals● Heterogenous Sources Demo● Enterprise Data Services● How do you fit in?
  3. 3. What is Teiid?
  4. 4. What it is?
  5. 5. How does it work?● Views that integrate data sources (Databases, Files, WS)● Teiid goes further...
  6. 6. Enterprise Information Integration
  7. 7. Relational Abstraction Flat File
  8. 8. Recap of Introduction● Scalable information integration through a relational abstraction● Real-time● Open Source
  9. 9. Teiid History● MetaMatrix 1999● Red Hat acquired MetaMetrix in 2007● Teiid● DNA - ModeShape● Current version is 8.2 Alpha2 on AS7
  10. 10. Teiid Basics forInformation Integrator
  11. 11. Simple Deployment
  12. 12. Virtual Databases (VDBs)JAR likefile
  13. 13. Translator● Adapts queries to specific data source● Built-in ○ Oracle ○ File ○ WS ○ Salesforce● Really an extension point
  14. 14. TeiidTeiid Designer
  15. 15. Teiid Designer Modeling● Model Driven● Create Virtual Databases● Creating data sources (files,databases)● Deploy● Broken with version 8
  16. 16. Teiid Designer● Eclipse 3.7.2● Teiid Designer 7.x● http://www.jboss.org/teiiddesigner● JBoss Developer Studio
  17. 17. From Designer● Transforming Source Model to View Model
  18. 18. Dynamic VDB● XML● Create Virtual Views and Procedures
  19. 19. Short Demo
  20. 20. Short Demo● Setup Teiid in JBoss AS 7● Designer http://www.jboss.org/teiiddesigner/downloads● Samples http://www.jboss.org/teiiddesigner/downloads/examples● In Eclipse "Import > General > Existing Projects.... > Select archive file: text-file- example.zip"● From eclipse Readme > Example instructions● Skip some steps! Designer doesnt work with Teiid 8
  21. 21. Teiid Tooling
  22. 22. Teiid Console● Deploying VDB● Deploying Datasources● Changing Translator Properties (e.g. table pattern)
  23. 23. Teiid Adminshell● Something like SqlPlus● Groovy based● Connect to VDB and run quries● Monitor queries● Automation
  24. 24. Practical Considerations● Static integration through Designer VDB● Dynamic VDBs through XML● Deploying by copy/paste● Testing through SQuirrel or your JDBC code
  25. 25. Teiid Internals
  26. 26. Teiid Architecture
  27. 27. Parsing the Queryselect * FROM EmployeeView.EmployeeInfo● Note this actually calls procedure
  28. 28. To Object Stateselect * FROM EmployeeView.EmployeeInfo● QueryParser.parse(String sql)● Query.class ○ private Select select; ■ MultipleElementSymbol (*) ○ private From from; ■ UnaryFromSymbol (EmployeeView. EmployeeInfo)
  29. 29. Process Plan● Similar to Query Plans● Tree like structure● Optimization
  30. 30. To Process Plan● Optimization takes place● public static ProcessPlan optimizePlan (Query)ProjectNode(0) output=[emp.lastName, emp.firstName] [emp.lastName, emp.firstName] JoinNode(1) [NESTED TABLE JOIN] [CROSS JOIN] output=[emp.lastName, emp.firstName] ProjectNode(2) output=[f.file] [EmployeeData.getTextFiles.file] AccessNode(3) output=[EmployeeData.getTextFiles.file, EmployeeData.getTextFiles.filePath] EXEC EmployeeData.getTextFiles(EmployeeData.txt) TextTableNode(4) output=[emp.lastName, emp.firstName]
  31. 31. Features/Challanges● Memory usage (passivation)● Time Slicing● Federated Joins
  32. 32. Simple Federation
  33. 33. Limitations● No DDL● Not enforcing PK/FK
  34. 34. Notable Dependencies
  35. 35. Java development!● Maven● Subversion - moving to GitHub soon● JIRA issue tracking
  36. 36. JBoss Deps● Netty● JBossTS● JBossCache● JGroups
  37. 37. Java CC● Parsing queries● Generated● Tutorial code {{ .... }}
  38. 38. Twitter Demo
  39. 39. Red Hat Enterprise Data Services● Builts on Teiid● Support● Why? Check out TEIID-1714 (https://issues. jboss.org/browse/TEIID-1714)● Certified solution (https://access.redhat. com/knowledge/articles/112503)
  40. 40. Conclusion● SOA - data services● Uses JCA● Open source ○ Heavily refactored ○ Automatized tests ○ Features rapidly added
  41. 41. Your Part
  42. 42. Why develop?● Learn Java, be an expert!● Become Data Guru● No GUI (Teiid Designer is separate project)
  43. 43. How to Become a Contributor● Issues Open for Community https://issues.jboss. org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+TEIID+AND+resolution+% 3D+Unresolved+AND+fixVersion+%3D+%22Open+To+Community%22● Development Setup https://community.jboss. org/wiki/TeiidEclipseDevEnvironmentSetUpAndBuildingRuntimeArtifacts
  44. 44. For Students● Red Hat + FI MUNI● Get Bachelor or Master thesis on Teiid● email: xnguyen@fi.muni.cz
  45. 45. Thank you! https://twitter.com/nguyenfilip
  46. 46. Next JBug Thomas Diesler OSGi

×