O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Symfony2 & eCommerce
2
@fabien_gasser
 Presales consultant @ Smile
 Ex Project Manager @ SensioLabs
 Hobbies: rap music & eCommerce
Smile - ...
3
Different eCommerce types
 B2C
o eShop:Unkut, Marketplace:Fnac, Chronodrive, Auchan Drive…
o Subscription:Birchbox
o Fl...
4
5
Product
catalog
PIM
Customers
CRM
Customer
account
Orders
Shopping
cart
Order
Manager
Symfony 2 & eCommerce
7
« Symfony should become the standard as a PHP middleware »
 Symfony 2 as Middleware: an applicative glue
 Specific dev...
8
Applications
Middleware
Database
Infrastructure
Orders
PIM
ERP
CRM
Sf2 Middleware
BIDAM
Customers
Product
catalog
Order
...
9
Drupal
Leaphly
Vespolina
Sonata
10
Even though it’s interesting to meet all
business requirements within the same
application
 !!! Difficult to maintain
...
11
12
Do smaller things and reduct the coupling of apps
 Core API
 Fine management of ACL through an oauth server for insta...
13
Desktop Tablet Mobile
Search
CSS
HTML
Javascript
Resource
WebComponent
Comments
Panier
Recherche
Website
WebComponent
M...
14
Representation
 Hateoas + HAL
 json/xml/messagepack
 Microformats
Stateless:Horizontal scalability
Security: SSL + t...
15
Redis:cache, session, queues
Empty Varnish cache / CDN when you modify a product information…
If you don’t have to calc...
16
17
Repository
 Assets & pictures
Order Manager
Data flows
Clients
 CRM
Search and recommendation
CMS
Payment
Sale
18
19
Product management with Akeneo PIM
ERP
images
Third part data
source
Videos
PIM
Search
Enrich
Translate
Maintain
E-stor...
20
21
Media management:
 KnpLabs/KnpGaufretteBundle:s3, MongoGridFS
 Sonata Media Bundle
 Thumbor:service intelligent de g...
22
Order Manager system is the heart of your e-commerce
Create Finite State Machine thanks to the bundles
 github.com/yoh...
23
An e-commerce platform communicates with several third-parties
 ESB ERP CRM BI WMS DAM MARKETPLACE (lengow, mirakl…)
W...
24
Create a unique base of clients and share it with applications
 User:
o FosUserBundle
o HWIOAuthBundle
o FosCommentBun...
25
Keep in contact with its clients: OroCRM
 Client segmentation
 Task and call back
 Sales processing
e-commerce orien...
26
27
Search:
 Implementation of Elasticsearch or Solr to index the PIM and take the benefit of the
search engine
o API REST...
28
CMS & Merchandising: Drupal 8, Sulu CMF, Bolt
 Place CMS content to animate category pages
 Expert content, security ...
29
Implementation of payment solutions
 Paiement: Integration of a monetic supplier
o PayumBundle
 Use a PSP – payment s...
30
200 pages / second and more…
 Prévoir un fallback sur les pages les plus consommatrices:une version dégradée
de l’appl...
Symfony 2 & e-commerce ecosystem  - Now in english !
Próximos SlideShares
Carregando em…5
×

Symfony 2 & e-commerce ecosystem - Now in english !

3.873 visualizações

Publicada em

English version of my presentation @ Symfony Live Paris 2014

Publicada em: Software, Tecnologia, Negócios
  • Creating Symfony ecommerce (https://www.cloudways.com/blog/build-symfony-ecommerce-app/ ) ecosystem is not that easy. For that you must have a good tutorial that you can follow to create it. You can either create ecommerce in core symfony or use some package like Aimeos.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Symfony 2 & e-commerce ecosystem - Now in english !

  1. 1. Symfony2 & eCommerce
  2. 2. 2 @fabien_gasser  Presales consultant @ Smile  Ex Project Manager @ SensioLabs  Hobbies: rap music & eCommerce Smile - Open source solutions provider  More than 60 projetcs > 250 men.days  Magento, Drupal, Jahia, Liferay, Sf2, Spring…  eCommerce o > 10 millions of products managed… o > 200 pages served per second o Multi Store, Multi Merchant, Multi Channel, Marketplace…
  3. 3. 3 Different eCommerce types  B2C o eShop:Unkut, Marketplace:Fnac, Chronodrive, Auchan Drive… o Subscription:Birchbox o Flash sales:Private journeys  B2B with price negotiated for each customer: o Managment of enterprises’ committees, cars sales…  … We should focus our strength on our business to create a relationship with the customer and develop loyalty  Alternative:Design an incredible product… without any competitor.
  4. 4. 4
  5. 5. 5 Product catalog PIM Customers CRM Customer account Orders Shopping cart Order Manager
  6. 6. Symfony 2 & eCommerce
  7. 7. 7 « Symfony should become the standard as a PHP middleware »  Symfony 2 as Middleware: an applicative glue  Specific development mind the gap between the best softwares and customer requirements. o Respect functional areas
  8. 8. 8 Applications Middleware Database Infrastructure Orders PIM ERP CRM Sf2 Middleware BIDAM Customers Product catalog Order Manager WebApp Borne Web CMS Search Shopping cart Grid Checkout Merch Search
  9. 9. 9 Drupal Leaphly Vespolina Sonata
  10. 10. 10 Even though it’s interesting to meet all business requirements within the same application  !!! Difficult to maintain  !!! Complex and unuseful business rules  Changes on the solution core Making e-commerce with a blogging solution… No !  Separation of concern : CMS / E-commerce / BI Your e-commerce is not a business intelligence tool : keep simple kpi on your dashboard but use a real tool like Pentaho or JasperSoft for your BI We don’t do slides with Excel
  11. 11. 11
  12. 12. 12 Do smaller things and reduct the coupling of apps  Core API  Fine management of ACL through an oauth server for instance…  Design applications by domain:Doing less but doing better o Facilitate the update of a service / its maintenance / its availability  Let‘s forget monolithic applications o The applicative segmentation by controlers is not enough  Why not considering a segmentation by functional domain ?
  13. 13. 13 Desktop Tablet Mobile Search CSS HTML Javascript Resource WebComponent Comments Panier Recherche Website WebComponent Middleware API HATEOAS Json-ld ETL
  14. 14. 14 Representation  Hateoas + HAL  json/xml/messagepack  Microformats Stateless:Horizontal scalability Security: SSL + token Easy testing and automated documentation NelmioApiBundle Applicative versioning Tip: Use Varnish to define frequency of data update
  15. 15. 15 Redis:cache, session, queues Empty Varnish cache / CDN when you modify a product information… If you don’t have to calculate the catalogue, then save it within Elasticsearch/SolR: scalable, API Rest Get some alerts on services and data flows:New Relic, Monitoring… Don’t be afraid to use third-party services:  Prediggo, Compario, LiveFyre, Gigya… The bundles  Core:MSSecurityExtraBundle, StofDoctrineExtensionBundle, LiipCacheControlBundle, MonologBundle, Symfony-cmf/Routing, TemplatedUriBundle  API:JMSSerializerBundle, FosRestBundle, BazingaHateoasBundle, NelmioApiDocBundle, BazingaFakerBundle
  16. 16. 16
  17. 17. 17 Repository  Assets & pictures Order Manager Data flows Clients  CRM Search and recommendation CMS Payment Sale
  18. 18. 18
  19. 19. 19 Product management with Akeneo PIM ERP images Third part data source Videos PIM Search Enrich Translate Maintain E-store Mobile POS Print
  20. 20. 20
  21. 21. 21 Media management:  KnpLabs/KnpGaufretteBundle:s3, MongoGridFS  Sonata Media Bundle  Thumbor:service intelligent de gestion d’images (Détections de visages, motifs) Smart interface for media management ? Ckfinder ? Mass processing with an asynchronous queue
  22. 22. 22 Order Manager system is the heart of your e-commerce Create Finite State Machine thanks to the bundles  github.com/yohang/Finite  DoctrineStateMachineBundle Manage various state for order, quote or cart  A parralel task will check the state of the order to fire actions  Manage easily actions around your orders: paiement notification or refund, subscription system
  23. 23. 23 An e-commerce platform communicates with several third-parties  ESB ERP CRM BI WMS DAM MARKETPLACE (lengow, mirakl…) With different formalisms:  SOAP REST EDI CSV...  HATEHOAS Messapack for mobile applications Organization of the database model  Create services to manipulate your SOAP / REST exposed interfaces MONITOR data flows !!!
  24. 24. 24 Create a unique base of clients and share it with applications  User: o FosUserBundle o HWIOAuthBundle o FosCommentBundle o …  SonataAdminBundle Centralize the user events and follow the activity of users  Real user monitoring / New Relic Insight
  25. 25. 25 Keep in contact with its clients: OroCRM  Client segmentation  Task and call back  Sales processing e-commerce oriented features  Abandonned carts  User monitoring
  26. 26. 26
  27. 27. 27 Search:  Implementation of Elasticsearch or Solr to index the PIM and take the benefit of the search engine o API REST o Search features Recommendation: up sell, cross sell…  Management of affinitiy with a product at every purchase or creatino of product list to make a simple recommendation  Design of business rules with ExpressionLanguage to associate a product Implement third-party solutions such as: Prediggo, Fredhopper, Compario…
  28. 28. 28 CMS & Merchandising: Drupal 8, Sulu CMF, Bolt  Place CMS content to animate category pages  Expert content, security of payments  ESI / SSI / Hinclude / pjax / turbolinks  Content as a Service / Data as a Service Sulu.io Pagekit
  29. 29. 29 Implementation of payment solutions  Paiement: Integration of a monetic supplier o PayumBundle  Use a PSP – payment service provider: be2bill, paybox… o Ease of inception in a new country o Fraud management o REST API One-click payment Payment in 3 times withouth fee Payment at deliverySimple payment Partial or total refund Cross-chanel payment Simple aknowledgement
  30. 30. 30 200 pages / second and more…  Prévoir un fallback sur les pages les plus consommatrices:une version dégradée de l’application.  Plan its stateless application in order to facilitate horizontal scalability  Decoupling services and sites  Ratchet ? WebRTC ? Scalable hosting  Cluster of databases and indexes  On the fly creation: o Docker, Serf, Mesos…  Predictive auto-scaling (Scryer/Netflix) Traffic pattern:variable

×