1 / 20

Client and Server Design

Client and Server Design. J2EE Steps In. What now?. At this point, you understand how to design servers and how to design clients But how do you put them together? Where do you draw the line? What goes in the client and what goes in the server? How many servers? How many forms of client?.

lamis
Download Presentation

Client and Server Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Client and Server Design J2EE Steps In

  2. What now? • At this point, you understand how to design servers and how to design clients • But how do you put them together? • Where do you draw the line? • What goes in the client and what goes in the server? • How many servers? • How many forms of client?

  3. Difficult Questions • Every imaginable design is used • Focus first on the most prevalent • The evolution was just that • Consider • distributed for redundancy and scalability • objects for reusability and adaptability • web to insulate from the platform (os/hardware)

  4. Incremental • Incremental design/development is one of the tenets of design in a software system. • Using an environment which does as much for you as possible is a desirable situation (within the parameters of cost) • Buy components, assemble and integrate

  5. Problems of Scaling an App Multiple Clients • communication overhead • delay in accessing servers • issues of priority and fairness • synchronization • running on different platforms • based on USER needs

  6. Problems of Scaling an App (Multiple) Servers • need for independence from client • variety of client demands • scalability • transparency to client • hardware based on • performance • infrastructure needs

  7. Problems of Scaling an App System needs • transaction service (commit/rollback) • security • load balancing • thread management • persistence • middleware • accounting and logging • migrating from legacy systems

  8. Standard Components • User interface: GUI/WEB • Database/Persistence • AI • Communications • Multimedia

  9. Standard Componentsand Middleware • Lots of examples • Databases • GUIs • Objects • Problem with all of these is that they are typically platform or vendor specific • An example follows

  10. No Middleware OpenOracle() … OpenMySQL() … MySQL ORACLE Code must be changed to migrate to a new DB

  11. OpenDB() Database Middleware Oracle Driver MySQL Driver OpenOracle() OpenMySQL() MySQL ORACLE Middleware

  12. OpenDB() Microsoft -> ODBC SQL Driver Access Driver OpenSQL() OpenAccess() SQL Access Middleware w/ODBC

  13. OpenDB() DBOpen() ODBC BDE Oracle Driver Paradox Driver BDE to ODBC Driver OpenOracle() OpenParadox() Paradox ORACLE Middleware BDE and ODBC NOT PERFECT!

  14. How do we get here?STANDARDIZATION! • We got tired of being unproductive. • Companies realized losing a little flexibility could save lots of money • Organizations cooperated • They saw what standardization could do • OS, languages, GUIs, SQL • had the guts to open source

  15. Standardization Explosion • Java is an attempt to standardize everything • language features • interface libs • guis • dbs • communication • application development • Microsoft is doing the same thing in its own way • Is this an oxymoron? Possibly. Each have an explosion of standardization. There are always competing standardization and degrees.

  16. So what now? • You’re jumping in midstream so it’s hard to see. • Technologies have a way of overwhelming • Technologies have a way of emerging to the masses (programmers) if they succeed. • J2EE is a standardization of application development. • It’s not simple… but not too hard for you!

  17. J2SE and J2EE Basic libraries for java development I/o GUIs applets etc Based on J2SE Can UTILIZE EJB Uses other technologies Defines a Specification Components are constrained to abide by interface specs if they play J2EE

  18. From Roman

  19. Client Interface Our Main Focus Business Logic BackEnd From Roman

  20. J2EE Technologies • EJB • RMI • JNDI • JDBC • JTS (Transactions) • servlets • JSP • JAAS (Authorization & Authentification)

More Related