Achievo ATK - A Business Framework (DPC 2007)

12,057 views

Published on

Introduction to PHP Business Frameworks in general and Achievo ATK in particular. Presented by Ivo Jansch at the Dutch PHP Conference 2007 (june 16th. 2007)

Published in: Economy & Finance, Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,057
On SlideShare
0
From Embeds
0
Number of Embeds
6,293
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Achievo ATK - A Business Framework (DPC 2007)

  1. 1. Achievo ATK – A business framework Ivo Jansch <ivo@ibuildings.nl>
  2. 2. Agenda <ul><li>What is a business framework? </li></ul><ul><li>About the ATK framework </li></ul><ul><li>Demo </li></ul>
  3. 3. Business Frameworks <ul><li>When to use: </li></ul><ul><li>Applications that you use in a business </li></ul><ul><ul><li>Data management </li></ul></ul><ul><ul><li>Processes </li></ul></ul><ul><li>Or any other app that manipulates data </li></ul><ul><ul><li>Website backends </li></ul></ul><ul><ul><li>'admin modules' </li></ul></ul><ul><li>Business logic layer </li></ul>
  4. 4. Business Frameworks <ul><li>Key properties: </li></ul><ul><li>Focus on business logic implementation </li></ul><ul><li>Abstract away from HTML </li></ul><ul><li>Abstract away from web application details </li></ul><ul><li>Provide an actual framework (not just components)‏ </li></ul><ul><li>Model Driven </li></ul>
  5. 5. Business Frameworks <ul><li>Application area's: </li></ul><ul><li>CRM </li></ul><ul><li>HRM </li></ul><ul><li>ERP </li></ul><ul><li>Resourcemanagement </li></ul><ul><li>Inventory control </li></ul><ul><li>CMS </li></ul>
  6. 6. Comparison <ul><li>PHP </li></ul>
  7. 7. Comparison <ul><li>Frameworks </li></ul>
  8. 8. Comparison <ul><li>Business frameworks </li></ul>
  9. 9. Examples <ul><li>Microsoft Business Framework </li></ul><ul><ul><li>http://www.businessframework.com </li></ul></ul><ul><li>Engage Java Business Framework </li></ul><ul><ul><li>http://www.suntech.it/engage/top.asp </li></ul></ul><ul><li>SAP IBF </li></ul><ul><ul><li>http://www.topxml.com/sap/sap_internet_business_framework.asp </li></ul></ul><ul><li>Achievo ATK </li></ul><ul><ul><li>http://www.achievo.org/atk </li></ul></ul><ul><li>PhpPeanuts </li></ul><ul><ul><li>http://www.phppeanuts.org </li></ul></ul>
  10. 10. Achievo ATK
  11. 11. ATK Application Framework <ul><li>Achievo ATK is an object oriented Web Application Framework, written in PHP </li></ul><ul><li>Business application development </li></ul><ul><li>Targeted at developers who wish to focus on business logic, instead of coding HTML </li></ul>
  12. 12. History <ul><li>First there was Achievo Project Management </li></ul><ul><ul><li>Open sourced in April 2000 </li></ul></ul><ul><ul><li>My First PHP Application! </li></ul></ul><ul><ul><li>... which was pretty obvious </li></ul></ul><ul><ul><li>Evil scripting, code duplication, loads and loads of code </li></ul></ul><ul><li>But I studied Computer Science, didn't I? </li></ul><ul><ul><li>OO in PHP4? </li></ul></ul><ul><ul><li>Design patterns in PHP? </li></ul></ul><ul><ul><li>Yeah, right... </li></ul></ul><ul><li>Oh well, let's give that a try anyway </li></ul>
  13. 13. History <ul><li>Achievo rewrite </li></ul><ul><ul><li>Model based </li></ul></ul><ul><ul><li>OO </li></ul></ul><ul><ul><li>Framework </li></ul></ul><ul><li>Framework > Achievo </li></ul><ul><ul><li>Used in other applications at Ibuildings </li></ul></ul><ul><li>Achievo ATK released in 2004 </li></ul>
  14. 14. ATK philosophy <ul><li>Very Rapid Application Development </li></ul><ul><ul><li>Code minimization (10 lines of code…)‏ </li></ul></ul><ul><ul><li>“ Don’t reinvent the wheel” </li></ul></ul><ul><ul><li>“ Don’t Repeat Yourself” principle </li></ul></ul><ul><ul><li>80/20 rule </li></ul></ul><ul><li>Vesatile </li></ul><ul><ul><li>Supports many databases </li></ul></ul><ul><ul><li>Runs out of the box </li></ul></ul><ul><ul><li>Dependencies are bundled </li></ul></ul><ul><ul><li>PHP4 / PHP5 </li></ul></ul><ul><li>Customizable </li></ul><ul><ul><li>Modular system </li></ul></ul><ul><ul><li>Customize ATK </li></ul></ul><ul><ul><li>Customize your own software </li></ul></ul>
  15. 15. ATK features <ul><li>For the user </li></ul><ul><ul><li>Uniform interface </li></ul></ul><ul><ul><li>CRUD functionality </li></ul></ul><ul><ul><li>Data search functionality </li></ul></ul><ul><ul><li>Themes </li></ul></ul><ul><ul><li>Internationalization (15+ languages)‏ </li></ul></ul><ul><ul><li>AJAX features </li></ul></ul><ul><li>For the developer </li></ul><ul><ul><li>Database abstraction layer (MySQL, Oracle, PostgreSQL)‏ </li></ul></ul><ul><ul><li>Relationship modeling (e.g. 1:N, N:1, N:M db relations)‏ </li></ul></ul><ul><ul><li>Flexible authentication & authorization </li></ul></ul><ul><ul><li>Application session management </li></ul></ul><ul><ul><li>Out of the box, but 100% customizable </li></ul></ul>
  16. 16. ATK features <ul><li>Fancy stuff: </li></ul><ul><ul><li>Full query abstraction (Connection, DML, DDL)‏ </li></ul></ul><ul><ul><li>Transparent MySQL replication support </li></ul></ul><ul><ul><li>Overloader mechanism </li></ul></ul><ul><ul><li>No scaffolding </li></ul></ul><ul><ul><li>Metadata based applications </li></ul></ul>
  17. 17. ATK Demo <ul><ul><li>Demo… </li></ul></ul>
  18. 18. Business Model <ul><li>Knowledge based model </li></ul><ul><ul><li>Support </li></ul></ul><ul><ul><li>Training </li></ul></ul><ul><ul><li>Paid enhancements </li></ul></ul><ul><li>License based model </li></ul><ul><ul><li>Commercial licensing </li></ul></ul><ul><ul><li>Dual licensing </li></ul></ul><ul><li>Indirect model </li></ul><ul><ul><li>Projects </li></ul></ul><ul><ul><li>Other products (CMS, dotcoms)‏ </li></ul></ul>
  19. 19. Development Model <ul><li>Evolutionary development </li></ul><ul><ul><li>Grow as needed </li></ul></ul><ul><ul><li>Community contributions </li></ul></ul><ul><li>Generalization </li></ul><ul><ul><li>Careful selection of development layer </li></ul></ul><ul><ul><li>Need something twice -> generalize </li></ul></ul><ul><li>Quality control </li></ul><ul><ul><li>Unit Testing </li></ul></ul><ul><ul><li>Sheriffs </li></ul></ul>
  20. 20. Future plans <ul><li>PHP5 features (finally..)‏ </li></ul><ul><li>Webservices </li></ul><ul><li>More pluggable architecture (embeddable)‏ </li></ul><ul><li>Documentation </li></ul><ul><li>Richer interface (ajax, flex)‏ </li></ul>
  21. 21. More info <ul><li>Visit these websites for more information about Ibuildings and the ATK framework: </li></ul><ul><ul><li>http://www.ibuildings.nl </li></ul></ul><ul><ul><li>http://www.achievo.org/atk </li></ul></ul><ul><ul><li>http://www.achievo.org/blog </li></ul></ul><ul><li>ivo@ibuildings.nl </li></ul><ul><li>Thank you! </li></ul>

×