Object Orientation A Real World Success Story Chris Larson Director of Development, OneVue, Inc. Session 115 Alan Webb Sr. Solutions Engineer, Progress.

Презентация:



Advertisements
Похожие презентации
Structured Error Handling in the ABL Sarah Marshall QA Architect, OpenEdge Session 128.
Advertisements

1 When And How To Make Interfaces Work For You Advanced OO Techniques Alex Herbstritt Principal Software Engineer, Progress Software Session 102.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Administering Events and Generating Reports Managing Events.
1 Where is the O(penness) in SaaS? Make sure youre ready for the next wave … Jiri De Jagere Senior Solution Engineer, Progress Software Session 123.
© 2003, Cisco Systems, Inc. All rights reserved. CSVPN Lesson 7 Configure the Cisco VPN Firewall Feature for IPSec Software Client.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Configuring Groups and Policies Configuring Policies.
Welcome to…. YOUR FIRST PART – START TO FINISH 2.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
MOUSE MANIPULATION 23. The 3 button mouse is your tool for manipulation of the parts and assemblies that you have created. With it you can ZOOM, ROTATE.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Using CSA Analysis Generating Application Deployment Reports.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Building a Simple Serial Network Understanding the OSI Model.
© 2002, Cisco Systems, Inc. All rights reserved. AWLF 3.0Module 7-1 © 2002, Cisco Systems, Inc. All rights reserved.
Introducing Cisco Network Service Architectures © 2004 Cisco Systems, Inc. All rights reserved. Introducing the Network Design Methodology ARCH v
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Configuring Groups and Policies Managing Hosts and Deploying Software Updates.
11 BASIC DRESS-UP FEATURES. LESSON II : DRESS UP FEATURES 12.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Complex MPLS VPNs Using Advanced VRF Import and Export Features.
ADVANCED DRESS-UP FEATURES 39. Once OK has been selected, your part will appear with the filleted area highlighted by orange lines at the boundaries.
© 2006 Cisco Systems, Inc. All rights reserved. CVOICE v Configuring Voice Networks Configuring Dial Peers.
© 2006 Cisco Systems, Inc. All rights reserved. ICND v Managing IP Traffic with ACLs Introducing ACLs.
© 2006 Cisco Systems, Inc. All rights reserved. SND v Configuring a Cisco IOS Firewall Configuring a Cisco IOS Firewall with the Cisco SDM Wizard.
Транксрипт:

Object Orientation A Real World Success Story Chris Larson Director of Development, OneVue, Inc. Session 115 Alan Webb Sr. Solutions Engineer, Progress Software

© 2009 Progress Software Corporation. All rights reserved. 2 Geez – another Order Type. No Notice. A killer deadline.

© 2009 Progress Software Corporation. All rights reserved. 3 What I need from you Chris is a miracle.

© 2009 Progress Software Corporation. All rights reserved. 4 Hummm… I wonder if this stuff will work.

© 2009 Progress Software Corporation. All rights reserved. 5 I sure hope – for your sake kid – that OO doesnt turn into Oh No!!

© 2009 Progress Software Corporation. All rights reserved. Two weeks later… 6

© 2009 Progress Software Corporation. All rights reserved. 7 Chris This is so awesome. I Love You Man!

© 2009 Progress Software Corporation. All rights reserved. How Did Chris Do It? Most work already done. Tested and verified Focused only on new stuff Only had to test new features 8 OO to the rescue

© 2009 Progress Software Corporation. All rights reserved. How Did Chris Do It? 9 Object Orientation Makes It Easier And Faster To Create Robust And Reliable Applications OO to the rescue

© 2009 Progress Software Corporation. All rights reserved. In The Beginning… Started w/ clean slate Nucleus had worked together 2007 started 2008 began move to OO Retail expertise Progress experience Primary Retail Challenge = Cross Channel More ways To sell more stuff To more customers OneVues guiding vision = Cross Channel 10 A brief history

© 2009 Progress Software Corporation. All rights reserved. Makes all the difference Objects build on other objects Extra thought up front pays off in long run Truly understand business processes Right Objects Reuse Rapid Development Happy Users Architecture Matters 11 Poor Design = Poor Results

© 2009 Progress Software Corporation. All rights reserved. Model The Business Retailers objective: get stuff to customers Stuff 12

© 2009 Progress Software Corporation. All rights reserved. Model The Business Retailers objective: get stuff to customers Customers Stuff 13

© 2009 Progress Software Corporation. All rights reserved. Model The Business Retailers objective: get stuff to customers Customers Stuff 14

© 2009 Progress Software Corporation. All rights reserved. Model The Business Retailers objective: get stuff to customers Customers Stuff Sales Order 15

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders 16 Retail Order Channel Stuff Customer $ Special Stuff$ Government Stuff$ AMOUNT DUE$$$ Payments $$$

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders Which store / location? Website? Click from? Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$ 17

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders Buying trends Demographic analysis Loyalty and rewards programs 18 Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders All types Promotions Sales Markdowns 19 Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders Shipping and handling Gift certificates Gift wrap Personalization 20 Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders Taxes By locality And by product type Prohibitions and restrictions Notices 21 Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders Easy (at least something is!!) 22 Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders All types Cash Checks Credit Cards Debit Cards Gift Certificates Coupons Vouchers Credits Multiple types on an order 23 Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$

© 2009 Progress Software Corporation. All rights reserved. Key Retail Object Orders Backorders Split shipments Returns 24 Retail Order Channel Stuff Customer $ AMOUNT DUE$$$ Payments $$$ Special Stuff$ Government Stuff$

© 2009 Progress Software Corporation. All rights reserved. Lets Look Closer At Our Mobile Order Object 25

© 2009 Progress Software Corporation. All rights reserved. Before We Begin Review of some Object Oriented Principles Encapsulation Conceals functional detail using Accessors and Mutators. InterfacesDenotes a model or view of an object without (Abstraction)implementing it. InheritanceHow objects relate to each other. Polymorphism One name, Many forms 26

© 2009 Progress Software Corporation. All rights reserved. Our Modified OERA Architecture 27

© 2009 Progress Software Corporation. All rights reserved. Requirements Establish a new order Type of Mobile Only sell discontinued items Dont allow back orders Require Customer information Process the Order using only cash payments 28 Lets look at the new requirements

© 2009 Progress Software Corporation. All rights reserved. Current Object hierarchy 29 Lets look at our current object hierarchy

© 2009 Progress Software Corporation. All rights reserved. New Object Hierarchy 30 Extend our OrderBase and create OrderMobile

© 2009 Progress Software Corporation. All rights reserved. Lets start coding! Open eclipse and select New ABL Class 31

© 2009 Progress Software Corporation. All rights reserved. Create OrderMobile Class 32 Name it OrderMobile Inherit from OrderBase Implement IComponent

© 2009 Progress Software Corporation. All rights reserved. OrderMobile.cls 33 We now have the outline for our OrderMobile class

© 2009 Progress Software Corporation. All rights reserved. Implementing IComponent 34 Helps organize and structure complex data models. Enforces required elements of an object.

© 2009 Progress Software Corporation. All rights reserved. Initializing OrderMobile And Orderbase 35 Calling Super in the constructor

© 2009 Progress Software Corporation. All rights reserved. OrderBase Constructor 36

© 2009 Progress Software Corporation. All rights reserved. Lets Define The New Methods CreateOrder()- Establish a new order Type ValidateOrderData() - Only sell discontinued items - Dont allow back orders - Only Allow cash transactions. - Require Customer information ProcessOrder()- Process and complete the transaction 37

© 2009 Progress Software Corporation. All rights reserved. Override CreateOrder() 38 Call SUPER:CreateOrder() Assign OrderType to Mobile

© 2009 Progress Software Corporation. All rights reserved. Override ValidateOrderData() Call SUPER:ValidateOrderData() Add OrderMobile specific validations. 39

© 2009 Progress Software Corporation. All rights reserved. ProcessOrder() 40 Utilize the base order processing. Pass THIS-OBJECT to be processed.

© 2009 Progress Software Corporation. All rights reserved. Thats It, were ready to Proxy A Quick Review Inherited SaveOrder() from OrderBase Overrided CreateOrder() and ValidateOrder() Add our custom ProcessOrder() method 41

© 2009 Progress Software Corporation. All rights reserved. Summary Small team. Industry knowledge. Clear vision Progress and other technologies. Modified OERA Solid Architecture Well designed objects OO Works!! 42

Object Orientation A Real World Success Story Chris Larson Director of Development, OneVue, Inc. Session 115 Alan Webb Sr. Solutions Engineer, Progress Software