22
ATG Pipelines

ATG - Pipelines

Embed Size (px)

DESCRIPTION

ATG - Pipelines

Citation preview

Page 1: ATG - Pipelines

ATG Pipelines

Page 2: ATG - Pipelines

Agenda

ODAF Servlet Pipeline

OCommerce pipelines

Page 3: ATG - Pipelines

DAF Servlet Pipeline

Page 4: ATG - Pipelines

PageFilterO PageFilter starts the DAF servlet

pipeline by calling DynamoHandler

Page 5: ATG - Pipelines

startRequestServletName

Page 6: ATG - Pipelines

AuthenticationServletO provides authentication using the

Basic HTTP authentication mechanism

O DEMO1. Servlet

Page 7: ATG - Pipelines

ProfileRequestServletcreates an instance of the atg/userprofiling/Profile 

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

Auto-logs inmaintain persistent information: persistentAnonymousProfiles=true

Page 8: ATG - Pipelines

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

Page 9: ATG - Pipelines

Inserting Servlets in the Pipeline

Page 10: 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 11: ATG - Pipelines

PipelinebleServlet

Page 12: ATG - Pipelines

InsertableServlet

Page 13: ATG - Pipelines

DEMO

Page 14: ATG - Pipelines

How to use?1. Disable unnecessary servlets2. Add new servlets if required

Ex. Reprice order functionality

Page 15: ATG - Pipelines

Commerce pipelines

Page 16: ATG - Pipelines

Commerce Pipelines

Page 17: 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 18: ATG - Pipelines

LoadOrder Pipeline Chain

OOrderManager.loadOrder()

O loadOrderObject

O loadPriceInfoObjectsForOrder

Page 19: ATG - Pipelines

UpdateOrder Pipeline Chain:

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

Page 20: ATG - Pipelines

ProcessOrder Pipeline Chain

O OrderManager.processOrder()O checkForExpiredPromotionsO removeEmptyShippingGroupsO removeEmptyPaymentGroupsO moveUsedPromotionsauthorizePayment

O addOrderToRepositoryO sendPromotionUsedMessageO sendFulfillmentMessage

Page 21: ATG - Pipelines

RepriceOrder Pipeline Chain

O CartModifierFormHandler. handleRepriceOrder

O RepriceOrderDroplet  

O priceOrderTotal

Page 22: ATG - Pipelines

Questions?