Enterprise Architecture Group


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Enterprise Architecture Group

  1. 1. Internet Sellouts Final Presentation Enterprise Architecture Group
  2. 2. Internet Sellouts <ul><li>Presentation Overview </li></ul><ul><li>Domain Definition, Commonality Analysis </li></ul><ul><li>Architecture Variability Analysis, Example Application </li></ul><ul><li>Enterprise Architecture </li></ul><ul><li>Reference Applications </li></ul><ul><li>What Internet Sellouts LLC is NOT </li></ul>
  3. 3. Domain Definition <ul><li>Domain: Online Shopping Cart </li></ul><ul><ul><li>A set of reusable components and a basic framework in which to build online shopping carts </li></ul></ul><ul><li>Framework support product family applications that have a storefront for purchasing goods/services over the Internet </li></ul><ul><li>Framework models Buyers, Managers, Authentication, Catalogs, and Orders </li></ul><ul><li>Limited Domain Scope: Not B-to-B, Not Do-It-All Business Systems </li></ul>
  4. 4. Commonality <ul><li>Generic Architecture – Identification of set of requirements in common </li></ul><ul><li>Identification of actors - Buyer and Manager </li></ul><ul><li>Browse a catalog </li></ul><ul><li>Fill a shopping cart by selecting items from catalog </li></ul><ul><li>Manages shopping cart – update quantity, subtotal prices </li></ul><ul><li>Buyers check out – billing and shipping information </li></ul><ul><li>Buyers confirm/track orders </li></ul><ul><li>Managers CRUD catalogs </li></ul><ul><li>Coded Commonality for Requirement and Reusable Asset Tracking </li></ul>
  5. 5. Commonality <ul><li>Traceable and Coded Requirements </li></ul><ul><li>C1 Buyer credential verification, authentication </li></ul><ul><li>C2 Buyer searches/browses catalog </li></ul><ul><li>C3 Buyer builds shopping cart </li></ul><ul><li>C4 Buyer manages the shopping cart, and pricing </li></ul><ul><li>C5 Buyer checks out – payment, shipping and receipt </li></ul><ul><li>C6 Buyer tracks order </li></ul><ul><li>C7 Catalog management </li></ul>
  6. 6. Variability <ul><li>Clients: browser, Java App, Windows App </li></ul><ul><li>Catalog CRUD: html, command-line, real-time, batch </li></ul><ul><li>Ordering: carrier choices, expediting options, payment options </li></ul><ul><li>Authentication: username/PW, App access list, group membership </li></ul>
  7. 7. Domain Architecture
  8. 8. Domain Architecture <ul><li>Buyer Client App System </li></ul><ul><li>Buyer Controller App System </li></ul><ul><li>Client Mgmt Comp System </li></ul><ul><li>Catalog Mgmt Comp System </li></ul><ul><li>Order Mgmt Comp System </li></ul><ul><li>Authorization Mgmt Comp System </li></ul>
  9. 9. Enterprise Use Cases <ul><li>Buy a product </li></ul><ul><li>Track an order </li></ul><ul><li>Manage catalogs </li></ul>
  10. 10. Buy a Product <ul><li>The buyer requests access </li></ul><ul><li>If access is restricted, the buyer is authenticated </li></ul><ul><li>The buyer selects items to buy </li></ul><ul><li>The buyer pays for the items </li></ul><ul><li>The system gives the buyer a receipt </li></ul>
  11. 11. Track an Order <ul><li>The buyer requests access </li></ul><ul><li>The buyer provides a tracking number </li></ul><ul><li>The system provides the status of the order </li></ul>
  12. 12. Manage Catalogs <ul><li>Create a catalog use case </li></ul><ul><li>Update a catalog use case </li></ul><ul><li>Delete a catalog use case </li></ul>
  13. 13. Client Mgmt Use Cases <ul><li>Authenticate user </li></ul><ul><li>Get catalog selection </li></ul><ul><li>Get item selections </li></ul><ul><li>Get shipping information </li></ul><ul><li>Get confirmation </li></ul><ul><li>Offer receipt </li></ul>
  14. 14. Client Mgmt Facade
  15. 15. Catalog Mgmt Use Cases <ul><li>Select catalog </li></ul><ul><li>Add catalog </li></ul><ul><li>Update catalog </li></ul><ul><li>Drop catalog </li></ul><ul><li>Add Items </li></ul><ul><li>Update Items </li></ul><ul><li>Drop Items </li></ul>
  16. 16. Catalog Mgmt Facade
  17. 17. Order Mgmt Use Cases <ul><li>Price order </li></ul><ul><li>Place order </li></ul><ul><li>Get order status </li></ul><ul><li>Report orders </li></ul>
  18. 18. Order Mgmt Facade
  19. 19. Authorization Mgmt Use Cases <ul><li>Confirm member </li></ul><ul><li>Add member </li></ul><ul><li>Update member </li></ul><ul><li>Drop member </li></ul>
  20. 20. Authorization Mgmt Facade
  21. 21. Reference Applications
  22. 22. Prototypes <ul><li>An online financing application. </li></ul><ul><li>An online merchandise selling application. </li></ul><ul><li>An online office supply ordering system. </li></ul>
  23. 23. An Online Financing Application <ul><li>This system allows clients to select the type of financing product they would like to apply for on a website for mortgage loans, car loans and other types of personal loans. </li></ul><ul><li>  DIAE Component on Server – 3 components </li></ul><ul><ul><li>User Authentication </li></ul></ul><ul><ul><li>Product/Service Offering Selections (Inventory) </li></ul></ul><ul><ul><li>A Shopping Cart </li></ul></ul>
  24. 24. An Online Financing Application (cont..) <ul><li>DIAE Component on the Client Side </li></ul><ul><ul><li>Package client’s input parameters and communicate with server objects. </li></ul></ul>
  25. 26. An online merchandise selling application <ul><li>Server side DIAE components </li></ul><ul><ul><li>Browse Catalog </li></ul></ul><ul><ul><li>Shopping Cart </li></ul></ul><ul><ul><li>Authenticate Admin user </li></ul></ul><ul><li>Client side components </li></ul><ul><ul><li>Admin Interface </li></ul></ul><ul><ul><ul><li>Order Status Manager Interface </li></ul></ul></ul><ul><ul><ul><li>Catalog Manager Interface </li></ul></ul></ul>
  26. 28. An online office supply ordering system <ul><li>Client DIAE Components </li></ul><ul><ul><li>Client interface (1…n distinct concurrently running entities). </li></ul></ul><ul><ul><ul><li>Interact with user. </li></ul></ul></ul><ul><ul><li>Shipping interface (1 distinct concurrently running instance) </li></ul></ul><ul><ul><ul><li>Add, edit, and delete contents of the inventory. </li></ul></ul></ul><ul><ul><ul><li>Read the checked out orders from the database. </li></ul></ul></ul><ul><ul><ul><li>Once the order has been filled, delete the entry. </li></ul></ul></ul>
  27. 29. An online office supply ordering system <ul><li>Server DIAE Components </li></ul><ul><ul><li>Session management </li></ul></ul><ul><ul><ul><li>Authenticate user login. </li></ul></ul></ul><ul><ul><ul><li>Match session id to user credentials. </li></ul></ul></ul><ul><ul><ul><li>Determine valid session ids. </li></ul></ul></ul><ul><ul><li>Inventory Browser </li></ul></ul><ul><ul><ul><li>Provide a list of office supplies available upon valid request. </li></ul></ul></ul><ul><ul><ul><li>Filter the list of office supplies based upon search criteria. </li></ul></ul></ul><ul><ul><li>Cart Manager </li></ul></ul><ul><ul><ul><li>Record the item selections for a specific session. </li></ul></ul></ul><ul><ul><ul><li>At checkout, validate session selections against the session’s </li></ul></ul></ul><ul><ul><ul><li>user credentials. </li></ul></ul></ul><ul><ul><ul><li>At checkout, request office location where to ship the requested supplies. </li></ul></ul></ul><ul><ul><ul><li>Store the result of checkout in database. </li></ul></ul></ul><ul><ul><li>Relational Database server (provided as COT software) </li></ul></ul><ul><ul><ul><li>Store data for the other 3 DIAE server components. </li></ul></ul></ul>
  28. 30. Identifying the Domain
  29. 31. What is the domain? <ul><li>By now the domain should be relatively clear. </li></ul><ul><ul><li>Online, client server </li></ul></ul><ul><ul><li>Searchable inventory </li></ul></ul><ul><ul><li>Select items to receive </li></ul></ul><ul><ul><li>Selected items are validated based upon application specific logic. </li></ul></ul><ul><li>Remember the reference applications. </li></ul>
  30. 32. What is NOT in the domain? <ul><li>Obviously, things that do not meet the criteria previously described </li></ul><ul><ul><li>Video games </li></ul></ul><ul><ul><li>Word processors </li></ul></ul><ul><ul><li>Online message board </li></ul></ul>
  31. 33. More subtly… <ul><li>Real time vending services. </li></ul><ul><ul><li>For example: </li></ul></ul><ul><ul><ul><li>Medical supply retrieval. </li></ul></ul></ul><ul><ul><ul><li>Juke Box / DJ services </li></ul></ul></ul><ul><ul><li>Reasons: </li></ul></ul><ul><ul><ul><li>Service to fulfill requested order is not in architecture. </li></ul></ul></ul><ul><ul><ul><li>Real time delivery of order not guaranteed. </li></ul></ul></ul>
  32. 34. More subtly (con’t) … <ul><li>Inventory Management systems. </li></ul><ul><ul><li>For example: </li></ul></ul><ul><ul><ul><li>Stock management for retail store. </li></ul></ul></ul><ul><ul><ul><li>Factory inventory control. </li></ul></ul></ul><ul><ul><li>Reasons: </li></ul></ul><ul><ul><ul><li>Architecture is designed for browsing the inventory, not managing it. </li></ul></ul></ul><ul><ul><ul><li>Administrative interface is not well defined enough to provide enough reuse in these areas. </li></ul></ul></ul>
  33. 35. More subtly (con’t) … <ul><li>Free Text Data Repository / Knowledge Base </li></ul><ul><ul><li>For example: </li></ul></ul><ul><ul><ul><li>Internet search engine’s cache </li></ul></ul></ul><ul><ul><ul><li>MSDN help </li></ul></ul></ul><ul><ul><li>Reasons: </li></ul></ul><ul><ul><ul><li>Search of inventory is not optimized for free text searches. </li></ul></ul></ul><ul><ul><li>Some of these could be in the domain. </li></ul></ul><ul><ul><ul><li>Phone book – Structured data fits architecture. </li></ul></ul></ul>
  34. 36. Adding to the domain. <ul><li>Application domains close to, but not in, the domain can be added. </li></ul><ul><ul><li>The current architecture can be extended. </li></ul></ul><ul><ul><li>Will incur additional cost to the customer to properly integrate into the architecture. </li></ul></ul><ul><ul><ul><li>Architect and create new reuse assets </li></ul></ul></ul><ul><ul><ul><li>Low reuse on these applications </li></ul></ul></ul>