atg pipelines

23
ATG Pipelines Kate Soglaeva

Upload: kate-semizhon-soglaeva

Post on 13-Dec-2014

1.131 views

Category:

Technology


7 download

DESCRIPTION

ATG pipelines: - DAF Servlet Pipeline - Commerce pipelines

TRANSCRIPT

Page 1: ATG pipelines

ATG PipelinesKate Soglaeva

Page 2: ATG pipelines
Page 3: ATG pipelines

Agenda

ODAF Servlet Pipeline

OCommerce pipelines

Page 4: ATG pipelines

DAF Servlet Pipeline

Page 5: ATG pipelines

PageFilterO PageFilter starts the DAF servlet

pipeline by calling DynamoHandler

Page 6: ATG pipelines

startRequestServletName

Page 7: ATG pipelines

AuthenticationServletO provides authentication using the

Basic HTTP authentication mechanism

O DEMO1. Servlet

Page 8: ATG pipelines

ProfileRequestServlet

creates an instance of the atg/userprofiling/Profile 

create a cookie containing the Profile ID of the current guest user

Auto-logs in

maintain persistent information: persistentAnonymousProfiles=true

Page 9: ATG pipelines

CachePreventionServlet

pResponse.setHeader("Pragma", "no-cache");pResponse.addDateHeader("Expires", 0L);pResponse.setHeader("Cache-Control", "no-cache");pResponse.setHeader("Cache-Control", "no-store");

Page 10: ATG pipelines

Inserting Servlets in the Pipeline

Page 11: ATG pipelines

Steps to create pipeline servlet

Add the servlet  to /atg/dynamo/servlet/Initial.initialServices

Set the new servlet’s nextServlet property

Reset the previous servlet’s nextServlet property

Define global scope component

Extend atg.servlet.pipeline.PipelineableServletImpl

Page 12: ATG pipelines

PipelinebleServlet

Page 13: ATG pipelines

InsertableServlet

Page 14: ATG pipelines

DEMO

Page 15: ATG pipelines

How to use?

1. Disable unnecessary servlets2. Add new servlets if required

Ex. Reprice order functionality

Page 16: ATG pipelines

Commerce pipelines

Page 17: ATG pipelines

Commerce Pipelines

Page 18: ATG pipelines

/atg/commerce/order/OrderTools

/atg/commerce/order/OrderManager

public void updateOrder(Order pOrder)

/atg/commerce/PipelineManager

runProcess("updateOrder", map)

orderTools

pipelineManager

definitionFile

/atg/commerce/commercepipeline.xml

Page 19: ATG pipelines

LoadOrder Pipeline Chain

OOrderManager.loadOrder()

O loadOrderObject

O loadPriceInfoObjectsForOrder

Page 20: ATG pipelines

UpdateOrder Pipeline Chain:

O OrderManager.updateOrder(O updateOrderObjectO updateCommerceItemObjectsO updateShippingGroupObjectsO updatePaymentGroupObjectsO updateRelationshipObjectsO updatePriceInfoObjectsO saveManualAdjustments

Page 21: ATG pipelines

ProcessOrder Pipeline Chain

O OrderManager.processOrder()O checkForExpiredPromotionsO removeEmptyShippingGroupsO removeEmptyPaymentGroupsO moveUsedPromotionsauthorizePayment

O addOrderToRepositoryO sendPromotionUsedMessageO sendFulfillmentMessage

Page 22: ATG pipelines

RepriceOrder Pipeline Chain

O CartModifierFormHandler. handleRepriceOrder

O RepriceOrderDroplet  

O priceOrderTotal

Page 23: ATG pipelines

Questions?