Your SlideShare is downloading. ×
Encompassing Information Integration
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Encompassing Information Integration


Published on

Published in: Technology

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


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