SlideShare une entreprise Scribd logo
1  sur  63
Building a
service oriented
  application
  with FLOW3
Building a
     service oriented
       application
       with FLOW3



        Christopher Hlubek
FLOW3 Core Team / networkteam GmbH
How I met
 FLOW3
T3CON06, Karlsruhe
The Quest
„Provide a convenient and safe
 customer account experience
for all websites and services of
         the company“
Build an application to
centrally 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 and
handling 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 design
allows for good modeling
   of the business logic
Security framework with
rich authentication and
     authorization
Support for a clean
application 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 the
infrastructure to cope with that


     [Gerrit, Hudson, Forge]
Working with a moving
target 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 service


Security
Service            Service
   Consumer           Consumer




   Customer           Customer
 SOAP service V1    SOAP service V2




             Customer
           Domain service


Security
Customer           Customer
SOAP service V1    SOAP service V2


 Data Transfer      Data Transfer
  Objects V1         Objects V2


          Domain Model



            Customer
          Domain service
Great SOAP server on
       FLOW3
Solid CouchDB object store
Scalable architecture
Load balancer
                          Load balancer




Frontend node   Frontend node    Frontend node   Frontend node
   FLOW3           FLOW3            FLOW3           FLOW3



                         Load balancer
                          Load balancer




                  Database         Database
                  CouchDB          CouchDB
Fixed lots of FLOW3 bugs,
improved FLOW3 features
Full Security Framework
       integration
Logging tools
for debugging and
    monitoring
Transparent encryption of
          data
Integrated deployment
solution based on FLOW3
Why I would
choose FLOW3 again
      Right now
Focus on building
excellent software
 of a high quality
Development teams spend up to


        90%
 of their capacity to fix bugs.
Agile and fast
programming model
Integrated feature set for
 enterprise applications
Growing ecosystem for
delivering software with
      high quality
Maturing API and features
Questions?
   Please...

Contenu connexe

Tendances

Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011
evgeni77
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)
Sri Prasanna
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
Spiffy
 

Tendances (20)

Soap xp-wg
Soap xp-wgSoap xp-wg
Soap xp-wg
 
Webconnection
WebconnectionWebconnection
Webconnection
 
Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...
Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...
Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...
 
NEW LAUNCH! Enhance Your Mobile Apps with AI Using Amazon Lex
NEW LAUNCH! Enhance Your Mobile Apps with AI Using Amazon LexNEW LAUNCH! Enhance Your Mobile Apps with AI Using Amazon Lex
NEW LAUNCH! Enhance Your Mobile Apps with AI Using Amazon Lex
 
Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011
 
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
 
Web Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenanceWeb Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server Maintenance
 
Modernize Meetings with Amazon Chime - April 2017 AWS Online Tech Talks & Wor...
Modernize Meetings with Amazon Chime - April 2017 AWS Online Tech Talks & Wor...Modernize Meetings with Amazon Chime - April 2017 AWS Online Tech Talks & Wor...
Modernize Meetings with Amazon Chime - April 2017 AWS Online Tech Talks & Wor...
 
Web Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting Started
 
AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...
AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...
AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...
 
Scalable web apps on AWS - Hebrew Webinar September 2017
Scalable web apps on AWS - Hebrew Webinar September 2017Scalable web apps on AWS - Hebrew Webinar September 2017
Scalable web apps on AWS - Hebrew Webinar September 2017
 
Implementation web api
Implementation web apiImplementation web api
Implementation web api
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
BDA306 NEW LAUNCH! An Introduction to Amazon Lex, your service for building v...
BDA306 NEW LAUNCH! An Introduction to Amazon Lex, your service for building v...BDA306 NEW LAUNCH! An Introduction to Amazon Lex, your service for building v...
BDA306 NEW LAUNCH! An Introduction to Amazon Lex, your service for building v...
 
Decouple and Scale Your Application with AWS Messaging - Level 300
 Decouple and Scale Your Application with AWS Messaging - Level 300 Decouple and Scale Your Application with AWS Messaging - Level 300
Decouple and Scale Your Application with AWS Messaging - Level 300
 
Simple Security for Startups
Simple Security for StartupsSimple Security for Startups
Simple Security for Startups
 
Web service, wcf, web api
Web service, wcf, web apiWeb service, wcf, web api
Web service, wcf, web api
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API Gateway
 

Similaire à T3CON11 Building a service oriented application with FLOW3

Real time web applications with signal r
Real time web applications with signal rReal time web applications with signal r
Real time web applications with signal r
Elad Avneri
 
Microsoft Windows Azure Platform Appfabric for Technical Decision Makers
Microsoft Windows Azure Platform Appfabric for Technical Decision MakersMicrosoft Windows Azure Platform Appfabric for Technical Decision Makers
Microsoft Windows Azure Platform Appfabric for Technical Decision Makers
Microsoft Private Cloud
 

Similaire à T3CON11 Building a service oriented application with FLOW3 (20)

Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016
 
Don’t Sacrifice Performance for Security: Best Practices for Content Delivery
Don’t Sacrifice Performance for Security: Best Practices for Content Delivery Don’t Sacrifice Performance for Security: Best Practices for Content Delivery
Don’t Sacrifice Performance for Security: Best Practices for Content Delivery
 
Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)
 
Secure your critical workload on AWS
Secure your critical workload on AWSSecure your critical workload on AWS
Secure your critical workload on AWS
 
Real time web applications with signal r
Real time web applications with signal rReal time web applications with signal r
Real time web applications with signal r
 
AWS Summit Keynote
AWS Summit KeynoteAWS Summit Keynote
AWS Summit Keynote
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
Migrating to the cloud - Windows on AWS
Migrating to the cloud - Windows on AWSMigrating to the cloud - Windows on AWS
Migrating to the cloud - Windows on AWS
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
Take control back on Android devices with Flyve MDM, OW2con'18, June 7-8, 201...
Take control back on Android devices with Flyve MDM, OW2con'18, June 7-8, 201...Take control back on Android devices with Flyve MDM, OW2con'18, June 7-8, 201...
Take control back on Android devices with Flyve MDM, OW2con'18, June 7-8, 201...
 
Microsoft Windows Azure Platform Appfabric for Technical Decision Makers
Microsoft Windows Azure Platform Appfabric for Technical Decision MakersMicrosoft Windows Azure Platform Appfabric for Technical Decision Makers
Microsoft Windows Azure Platform Appfabric for Technical Decision Makers
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas Kurian
 
The Cloud as Opportunity: Invitation to Entrepreneurs
The Cloud as Opportunity: Invitation to EntrepreneursThe Cloud as Opportunity: Invitation to Entrepreneurs
The Cloud as Opportunity: Invitation to Entrepreneurs
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

T3CON11 Building a service oriented application with FLOW3

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. Multi API with central business logic,\ncentral security\n
  50. Versioned service endpoints\n\n
  51. DTOs to versionize model\nGive good example\n\n
  52. Automatic Object Mapping\nAutomatic WSDL generation\n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. Multi account authentication\n
  60. Audit-Log in CouchDB\n
  61. \n
  62. \n
  63. \n
  64. \n
  65. Lösungen: TDD, Code Inspection (Reviews, Pair Programming, ...), Framework?\n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n