Symfony 2 & e-commerce ecosystem - Now in english !
-
Upload
fabien-gasser -
Category
Software
-
view
114 -
download
0
description
Transcript of Symfony 2 & e-commerce ecosystem - Now in english !
![Page 1: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/1.jpg)
Symfony2 & eCommerce
![Page 2: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/2.jpg)
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…
![Page 3: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/3.jpg)
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.
![Page 4: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/4.jpg)
4
![Page 5: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/5.jpg)
5
Product catalog
PIM
Customers
CRM Customer account
Orders
Shopping cart
Order Manager
![Page 6: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/6.jpg)
Symfony 2 & eCommerce
![Page 7: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/7.jpg)
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
![Page 8: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/8.jpg)
8
Applications
Middleware
Database
Infrastructure
Orders
PIM
ERP
CRM
Sf2 Middleware
BI DAM
Customers Product
catalog
Order
Manager
WebApp Borne Web
CMS
Search
Shopping cart Grid Checkout Merch Search
![Page 9: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/9.jpg)
9
Drupal
Leaphly
Vespolina
Sonata
![Page 10: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/10.jpg)
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
![Page 11: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/11.jpg)
11
![Page 12: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/12.jpg)
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 ?
![Page 13: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/13.jpg)
13
Desktop Tablet Mobile
Search
CSS
HTML
Javascript
Resource We
b C
om
po
ne
nt
Co
mm
en
ts
Pa
nie
r
Re
ch
erc
he
Website
We
b C
om
po
ne
nt
Middleware
API HATEOAS Json-ld
ETL
![Page 14: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/14.jpg)
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
![Page 15: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/15.jpg)
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
![Page 16: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/16.jpg)
16
![Page 17: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/17.jpg)
17
Repository
Assets & pictures
Order Manager
Data flows
Clients
CRM
Search and recommendation
CMS
Payment
Sale
![Page 18: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/18.jpg)
18
![Page 19: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/19.jpg)
19
Product management with Akeneo PIM
ERP
images
Third part data
source
Videos
PIM Search
Enrich
Translate
Maintain
E-store
Mobile
POS
![Page 20: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/20.jpg)
20
![Page 21: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/21.jpg)
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
![Page 22: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/22.jpg)
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
![Page 23: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/23.jpg)
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 !!!
![Page 24: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/24.jpg)
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
![Page 25: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/25.jpg)
25
Keep in contact with its clients: OroCRM
Client segmentation
Task and call back
Sales processing
e-commerce oriented features
Abandonned carts
User monitoring
![Page 26: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/26.jpg)
26
![Page 27: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/27.jpg)
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…
![Page 28: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/28.jpg)
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
![Page 29: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/29.jpg)
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 delivery Simple payment
Partial or total refund
Cross-chanel payment Simple
aknowledgement
![Page 30: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/30.jpg)
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
![Page 31: Symfony 2 & e-commerce ecosystem - Now in english !](https://reader036.fdocuments.in/reader036/viewer/2022070304/54c69aab4a79593b258b463d/html5/thumbnails/31.jpg)