java - Understand application architecture -


i s/w developer working on java web application.

i have limited knowledge of java , want understand application architecture high level in simple terms. being developer, not understand big picture.

can me understand this?

below arch image

each layer represents place problems solved similar way, using particular libraries or frameworks. in trying understand work way down through layers. but, note each layer hides details underneath, don't need understand details of lower layers in order understand 1 layer.

so struts piece dealing user-interface related issues of understanding user requests choosing business logic invoke , choosing how display results user. doesn't concern how business logic works, that's job of next layer down.

by business logic mean java (or other language) code expresses realities of customer's business. example in retail application might need work out discounts particular volumes of orders. ui layer wants display price customer's order. doesn't have discount logic itself, instead says business logic layer "customer x order n widgets , m zettuls, when can supply , how shall charge" , business logic figures out pricing customer, might depend on sorts of things such status of customer, number things have in stock, size of order , on. ui gets answer £450, delivered 16th september, , displays it.

that leads questions such "why separate business logic own layer?" there several possible reasons:

  • the business logic might used different ui well
  • it pre-exists, older system
  • our brains small think ui , business logic @ same time
  • we have different teams working on ui , bl - different skills needed

this same way of thinking follows down layers. th important thing when thinking each layer try focus on role of layer , treat other layers black-boxes. our brains tend small think whole thing @ same time. can feel myself changing mode shift between layers - take off ui head, put on persistence head.

there's plenty of material "out there" each layer. suggest start reading 1 of them , ask specific questions if stuck.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -