Building aservice oriented  application  with FLOW3
Building a     service oriented       application       with FLOW3        Christopher HlubekFLOW3 Core Team / networkteam ...
How I met FLOW3
T3CON06, Karlsruhe
The Quest
„Provide a convenient and safe customer account experiencefor all websites and services of         the company“
Build an application tocentrally manage customer           data
Login, session handling  and single sign-on
Customer data and address handling with validation
Provide web services for other systems
Central notifications andhandling of email messages
Integrated CRM for support          agents
Customer chosen    technologies:CouchDB for persistence SOAP for webservices
Implications
Cutomer data == Security
Store sensitive data      securely
Fine grained access control
Scale to millions of    customers
High availability
Extending and maintaining  business logic must be           easy
Why we chose  FLOW3  More than one year ago
Domain-driven designallows for good modeling   of the business logic
Security framework withrich authentication and     authorization
Support for a cleanapplication architecture
High coding standards and focus on automated tests
PHP has good SOAP     support
Well, not out of the box
What we learned and improved    Along the way
„Eat your own dog food“
Unit tests are nice but you need to test the whole          system
Being able to deploy easily    and often is crucial
Every Software has bugs,    FLOW3 has bugs
FLOW3 and TYPO3 have theinfrastructure to cope with that     [Gerrit, Hudson, Forge]
Working with a movingtarget is sometime hard and  impossible without tests
Easy to use for developers,      hard to develop
What we achieved    Thanks FLOW3
Rich domain model
Parts of the domain
Future proof Web Service      architecture
Service   Consumer   Customer  SOAP service             Customer           Domain serviceSecurity
Service            Service   Consumer           Consumer   Customer           Customer SOAP service V1    SOAP service V2 ...
Customer           CustomerSOAP service V1    SOAP service V2 Data Transfer      Data Transfer  Objects V1         Objects...
Great SOAP server on       FLOW3
Solid CouchDB object store
Scalable architecture
Load balancer                          Load balancerFrontend node   Frontend node    Frontend node   Frontend node   FLOW3...
Fixed lots of FLOW3 bugs,improved FLOW3 features
Full Security Framework       integration
Logging toolsfor debugging and    monitoring
Transparent encryption of          data
Integrated deploymentsolution based on FLOW3
Why I wouldchoose FLOW3 again      Right now
Focus on buildingexcellent software of a high quality
Development teams spend up to        90% of their capacity to fix bugs.
Agile and fastprogramming model
Integrated feature set for enterprise applications
Growing ecosystem fordelivering software with      high quality
Maturing API and features
Questions?   Please...
T3CON11 Building a service oriented application with FLOW3
T3CON11 Building a service oriented application with FLOW3
T3CON11 Building a service oriented application with FLOW3
T3CON11 Building a service oriented application with FLOW3
Upcoming SlideShare
Loading in …5
×

T3CON11 Building a service oriented application with FLOW3

2,656 views

Published on

This talk shows a real-world example of using FLOW3 for a service-oriented enterprise application and what's possible right now.

FLOW3 is a framework that's not only great for web applications: with features like AOP, a clean architecture and the domain driven design concept it is very suited for business solutions. And it has the power to take PHP into areas that were previously driven by Java or other languages.
This talk will show the benefits and experience of using FLOW3 for building a larger-scale service oriented application. From design and implementation to deployment and operation it'll give an overview what's possible with this new framework.

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

No Downloads
Views
Total views
2,656
On SlideShare
0
From Embeds
0
Number of Embeds
563
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Multi API with central business logic,\ncentral security\n
  • Versioned service endpoints\n\n
  • DTOs to versionize model\nGive good example\n\n
  • Automatic Object Mapping\nAutomatic WSDL generation\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Multi account authentication\n
  • Audit-Log in CouchDB\n
  • \n
  • \n
  • \n
  • \n
  • Lösungen: TDD, Code Inspection (Reviews, Pair Programming, ...), Framework?\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • T3CON11 Building a service oriented application with FLOW3

    1. 1. Building aservice oriented application with FLOW3
    2. 2. Building a service oriented application with FLOW3 Christopher HlubekFLOW3 Core Team / networkteam GmbH
    3. 3. How I met FLOW3
    4. 4. T3CON06, Karlsruhe
    5. 5. The Quest
    6. 6. „Provide a convenient and safe customer account experiencefor all websites and services of the company“
    7. 7. Build an application tocentrally manage customer data
    8. 8. Login, session handling and single sign-on
    9. 9. Customer data and address handling with validation
    10. 10. Provide web services for other systems
    11. 11. Central notifications andhandling of email messages
    12. 12. Integrated CRM for support agents
    13. 13. Customer chosen technologies:CouchDB for persistence SOAP for webservices
    14. 14. Implications
    15. 15. Cutomer data == Security
    16. 16. Store sensitive data securely
    17. 17. Fine grained access control
    18. 18. Scale to millions of customers
    19. 19. High availability
    20. 20. Extending and maintaining business logic must be easy
    21. 21. Why we chose FLOW3 More than one year ago
    22. 22. Domain-driven designallows for good modeling of the business logic
    23. 23. Security framework withrich authentication and authorization
    24. 24. Support for a cleanapplication architecture
    25. 25. High coding standards and focus on automated tests
    26. 26. PHP has good SOAP support
    27. 27. Well, not out of the box
    28. 28. What we learned and improved Along the way
    29. 29. „Eat your own dog food“
    30. 30. Unit tests are nice but you need to test the whole system
    31. 31. Being able to deploy easily and often is crucial
    32. 32. Every Software has bugs, FLOW3 has bugs
    33. 33. FLOW3 and TYPO3 have theinfrastructure to cope with that [Gerrit, Hudson, Forge]
    34. 34. Working with a movingtarget is sometime hard and impossible without tests
    35. 35. Easy to use for developers, hard to develop
    36. 36. What we achieved Thanks FLOW3
    37. 37. Rich domain model
    38. 38. Parts of the domain
    39. 39. Future proof Web Service architecture
    40. 40. Service Consumer Customer SOAP service Customer Domain serviceSecurity
    41. 41. Service Service Consumer Consumer Customer Customer SOAP service V1 SOAP service V2 Customer Domain serviceSecurity
    42. 42. Customer CustomerSOAP service V1 SOAP service V2 Data Transfer Data Transfer Objects V1 Objects V2 Domain Model Customer Domain service
    43. 43. Great SOAP server on FLOW3
    44. 44. Solid CouchDB object store
    45. 45. Scalable architecture
    46. 46. Load balancer Load balancerFrontend node Frontend node Frontend node Frontend node FLOW3 FLOW3 FLOW3 FLOW3 Load balancer Load balancer Database Database CouchDB CouchDB
    47. 47. Fixed lots of FLOW3 bugs,improved FLOW3 features
    48. 48. Full Security Framework integration
    49. 49. Logging toolsfor debugging and monitoring
    50. 50. Transparent encryption of data
    51. 51. Integrated deploymentsolution based on FLOW3
    52. 52. Why I wouldchoose FLOW3 again Right now
    53. 53. Focus on buildingexcellent software of a high quality
    54. 54. Development teams spend up to 90% of their capacity to fix bugs.
    55. 55. Agile and fastprogramming model
    56. 56. Integrated feature set for enterprise applications
    57. 57. Growing ecosystem fordelivering software with high quality
    58. 58. Maturing API and features
    59. 59. Questions? Please...

    ×