cs 5150 so ware engineering three popular architectural
play

CS 5150 So(ware Engineering Three Popular Architectural - PowerPoint PPT Presentation

Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Three Popular Architectural Styles William Y. Arms System Design Study 1 Master


  1. Cornell ¡University 
 Compu1ng ¡and ¡Informa1on ¡Science CS ¡5150 ¡So(ware ¡Engineering ¡ Three ¡Popular ¡Architectural ¡Styles ¡ William ¡Y. ¡Arms

  2. System ¡Design ¡Study ¡1 ¡ 
 Master ¡File ¡Update Examples • ¡ ¡ ¡ ¡Electricity ¡uAlity ¡customer ¡billing ¡(e.g., ¡NYSEG) • ¡ ¡ ¡ ¡Telephone ¡call ¡recording ¡and ¡billing ¡(e.g., ¡Verizon) • ¡ ¡ ¡ ¡Car ¡rental ¡reservaAons ¡(e.g., ¡Hertz) • ¡ ¡ ¡ ¡Stock ¡market ¡brokerage ¡(e.g., ¡Charles ¡Schwab) • ¡ ¡ ¡ ¡E-­‑commerce ¡(e.g., ¡Amazon.com) • ¡ ¡ ¡ ¡University ¡grade ¡registraAon ¡(e.g., ¡Cornell)

  3. Master ¡File ¡Update Example: ¡Electricity ¡U1lity ¡Billing Requirements ¡analysis ¡idenAfies ¡several ¡transacAon ¡types: • ¡ ¡ ¡ ¡Create ¡account ¡/ ¡close ¡account • ¡ ¡ ¡ ¡Meter ¡reading • ¡ ¡ ¡ ¡Payment ¡received • ¡ ¡ ¡ ¡Other ¡credits ¡/ ¡debits • ¡ ¡ ¡ ¡Check ¡cleared ¡/ ¡check ¡bounced • ¡ ¡ ¡ ¡Account ¡query • ¡ ¡ ¡ ¡CorrecAon ¡of ¡error • ¡ ¡ ¡ ¡etc., ¡etc., ¡etc.,

  4. First ¡Attempt Bill Master ¡file TransacAon Data ¡input Each ¡transacAon ¡is ¡handled ¡as ¡it ¡arrives.

  5. CriAcisms ¡of ¡First ¡A[empt Where ¡is ¡this ¡first ¡a@empt ¡weak? • All ¡acAviAes ¡are ¡triggered ¡by ¡a ¡transacAon • A ¡bill ¡is ¡sent ¡out ¡for ¡each ¡transacAon, ¡even ¡if ¡there ¡are ¡several ¡ per ¡day • Bills ¡are ¡not ¡sent ¡out ¡on ¡a ¡monthly ¡cycle ¡ • Awkward ¡to ¡answer ¡ customer ¡queries ¡ • No ¡process ¡for ¡ error ¡checking ¡and ¡ correc1on • Inefficient ¡in ¡staff ¡Ame

  6. Batch ¡Processing: ¡Edit ¡and ¡ValidaAon errors Batches ¡of ¡ Edit ¡& ¡ Batches ¡of ¡ incoming ¡ validaAon validated ¡ transacAons transacAons Data ¡input read ¡only Master ¡file

  7. Deployment ¡Diagram: ¡ValidaAon EditCheck DataInput RawData ValidData MasterFile ¡ Check

  8. ¡Batch ¡Processing: ¡Master ¡File ¡Update errors Reports Validated ¡ Sort ¡by ¡ transacAons account Batches ¡of ¡ in ¡batches Master ¡file input ¡data Bills update Checkpoints ¡and ¡ audit ¡trail

  9. Benefits ¡of ¡Batch ¡Processing ¡with ¡Master ¡File ¡Update • All ¡transacAons ¡for ¡an ¡account ¡are ¡processed ¡together ¡at ¡ appropriate ¡intervals, ¡e.g., ¡monthly • Backup ¡and ¡recovery ¡have ¡fixed ¡checkpoints • Be[er ¡management ¡control ¡of ¡operaAons • Efficient ¡use ¡of ¡staff ¡and ¡hardware • Error ¡detecAon ¡and ¡correcAon ¡is ¡simplified

  10. Architectural ¡Style: ¡Master ¡File ¡Update ¡(Basic ¡Version) Mailing ¡and ¡ Master ¡file ¡ Data ¡input ¡and ¡ Sort reports update validaAon Advantages: ¡ ¡ ¡ Efficient ¡way ¡to ¡process ¡batches ¡of ¡transacAons. Disadvantages: ¡ ¡ ¡ InformaAon ¡in ¡master ¡file ¡is ¡not ¡updated ¡immediately. ¡ ¡No ¡good ¡way ¡to ¡ answer ¡customer ¡inquiries. Example: ¡billing ¡system ¡for ¡electric ¡uAlity

  11. Online ¡Inquiry A ¡customer ¡calls ¡the ¡uAlity ¡and ¡speaks ¡to ¡a ¡customer ¡service ¡representaAve. ¡ Customer ¡service ¡ RepresentaAve read ¡only New ¡ transacAon Master ¡file Customer ¡service ¡department ¡can ¡read ¡the ¡master ¡file, ¡make ¡annotaAons, ¡ and ¡create ¡transacAons, ¡but ¡cannot ¡change ¡the ¡master ¡file.

  12. Online ¡Inquiry: ¡Use ¡Case AnswerCustomer <<uses>> CustomerRep NewTransacAon The ¡representaAve ¡can ¡read ¡the ¡master ¡file, ¡but ¡not ¡make ¡changes ¡ to ¡it. ¡ ¡ If ¡the ¡representaAve ¡wishes ¡to ¡change ¡informaAon ¡in ¡the ¡master ¡file, ¡ a ¡new ¡transacAon ¡is ¡created ¡as ¡input ¡to ¡the ¡master ¡file ¡update ¡ system.

  13. Architectural ¡Style: ¡Master ¡File ¡Update ¡(Full) Mailing ¡and ¡ Master ¡file ¡ Data ¡input ¡and ¡ Sort reports update validaAon Customer ¡ services Advantage: ¡ ¡ ¡ Efficient ¡way ¡to ¡answer ¡customer ¡inquiries. Disadvantage: ¡ ¡ ¡ InformaAon ¡in ¡master ¡file ¡is ¡not ¡updated ¡immediately. Example: ¡billing ¡system ¡for ¡electric ¡uAlity

  14. Real ¡Time ¡TransacAons Example: ¡A ¡small ¡bank • ¡ TransacAons ¡ are ¡received ¡by ¡customer ¡in ¡person, ¡over ¡the ¡ Internet, ¡by ¡mail ¡or ¡by ¡telephone. • ¡ Some ¡transacAons ¡must ¡be ¡processed ¡immediately ¡(e.g., ¡ cash ¡withdrawal), ¡others ¡are ¡suitable ¡for ¡overnight ¡ processing ¡(e.g., ¡check ¡clearing). ¡ • ¡ ¡ ¡ ¡Complex ¡customer ¡inquiries. • ¡ ¡ ¡ ¡Highly ¡compeAAve ¡market.

  15. Real-­‑Ame ¡TransacAons ¡& ¡Batch ¡Processing Batch ¡data ¡ Real-­‑Ame ¡ input transacAons This ¡is ¡a ¡combinaAon ¡of ¡the ¡ Repository ¡style ¡and ¡the ¡Master ¡ File ¡Update ¡style Customer ¡& ¡account ¡ database

  16. PracAcal ¡ConsideraAon • Can ¡real-­‑Ame ¡service ¡during ¡scheduled ¡hours ¡be ¡combined ¡with ¡ batch ¡processing ¡overnight? • How ¡will ¡the ¡system ¡guarantee ¡database ¡consistency ¡a(er ¡any ¡type ¡of ¡ failure? ¡ ¡ ¡ ¡ ¡ ¡ ¡reload ¡from ¡checkpoint ¡+ ¡log ¡ ¡ ¡ ¡ ¡ ¡ ¡detailed ¡audit ¡trail How ¡will ¡ transac1on ¡errors ¡ be ¡avoided ¡and ¡idenAfied? • How ¡will ¡ transac1on ¡errors ¡be ¡ corrected ? • How ¡will ¡ staff ¡dishonesty ¡be ¡controlled? • These ¡pracAcal ¡consideraAons ¡may ¡be ¡major ¡factors ¡in ¡the ¡choice ¡of ¡ architecture.

  17. Legacy ¡Systems Many ¡data ¡intensive ¡systems, ¡e.g., ¡those ¡used ¡by ¡banks, ¡universiAes, ¡etc. ¡ are ¡legacy ¡systems. ¡ ¡They ¡may ¡have ¡been ¡developed ¡forty ¡years ¡ago ¡as ¡ batch ¡processing, ¡master ¡file ¡update ¡systems ¡and ¡been ¡conAnually ¡ modified. ¡ ¡ • ¡ Recent ¡modificaAons ¡might ¡include ¡customer ¡interfaces ¡for ¡the ¡web, ¡ smartphones, ¡etc. • ¡ The ¡systems ¡will ¡have ¡migrated ¡from ¡computer ¡to ¡computer, ¡across ¡ operaAng ¡systems, ¡to ¡different ¡database ¡systems, ¡etc. • ¡ The ¡organizaAons ¡may ¡have ¡changed ¡through ¡mergers, ¡etc. Maintaining ¡a ¡coherent ¡system ¡architecture ¡for ¡such ¡legacy ¡systems ¡is ¡an ¡ enormous ¡challenge, ¡yet ¡the ¡complexity ¡of ¡building ¡new ¡systems ¡is ¡so ¡ great ¡that ¡it ¡is ¡rarely ¡a[empted.

  18. System ¡Design ¡Study ¡2 
 Three ¡Tier ¡Architecture The ¡basic ¡client/server ¡architecture ¡of ¡the ¡web ¡has: ¡ • ¡ a ¡server ¡that ¡delivers ¡staAc ¡pages ¡in ¡HTML ¡format ¡ • ¡ a ¡client ¡(known ¡as ¡a ¡browser) ¡that ¡renders ¡HTML ¡pages ¡ Both ¡server ¡and ¡client ¡implement ¡the ¡HTTP ¡interface. ¡ Problem ¡ Extend ¡the ¡architecture ¡of ¡the ¡server ¡so ¡that ¡it ¡can ¡configure ¡ HTML ¡pages ¡dynamically.

  19. Web ¡Server ¡with ¡Data ¡Store Data Server Web ¡browser Advantage: ¡ ¡ ¡ Server-­‑side ¡code ¡can ¡configure ¡pages, ¡access ¡data, ¡validate ¡ informaAon, ¡etc. ¡ Disadvantage: ¡ ¡ ¡ All ¡interacAon ¡requires ¡communicaAon ¡ ¡with ¡ ¡server

  20. Architectural ¡Style: ¡Three ¡Tier ¡Architecture Database ¡ Presentation ¡ Application ¡ tier tier ¡ tier Each ¡of ¡the ¡tiers ¡can ¡be ¡replaced ¡by ¡other ¡components ¡that ¡ implement ¡the ¡same ¡interfaces

  21. Component ¡Diagram These ¡components ¡might ¡be ¡ located ¡on ¡a ¡single ¡node Database ¡ WebBrowser WebServer Server ODBC HTTP

  22. Three ¡Tier ¡Architecture: ¡Broadcast ¡Searching User Databases User ¡interface ¡ service This ¡is ¡an ¡example ¡of ¡a ¡ multicast ¡protocol. The ¡primary ¡difficulty ¡is ¡to ¡avoid ¡troubles ¡at ¡one ¡site ¡ degrading ¡the ¡entire ¡system ¡(e.g., ¡every ¡transaction ¡ cannot ¡wait ¡for ¡a ¡system ¡to ¡time ¡out).

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend