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

771
views

Published on

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
771
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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● http://www.jboss.org/teiiddesigner● 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 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. 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. jboss.org/browse/TEIID-1714)● 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: xnguyen@fi.muni.cz
  • 45. Thank you! https://twitter.com/nguyenfilip
  • 46. Next JBug Thomas Diesler OSGi

×