Скачать презентацию Client and Server Design J 2 EE Steps Скачать презентацию Client and Server Design J 2 EE Steps

3cb0e50dca73eb0bd3219bb04c253197.ppt

  • Количество слайдов: 20

Client and Server Design J 2 EE Steps In Client and Server Design J 2 EE Steps In

What now? • At this point, you understand how to design servers and how 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?

Difficult Questions • • Every imaginable design is used Focus first on the most 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)

Incremental • Incremental design/development is one of the tenets of design in a software 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

Problems of Scaling an App Multiple Clients • • • communication overhead delay in 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

Problems of Scaling an App (Multiple) Servers • • • need for independence from 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

Problems of Scaling an App System needs • • transaction service (commit/rollback) security load 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

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

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

No Middleware Open. Oracle() … Open. My. SQL() … ORACLE My. SQL Code must No Middleware Open. Oracle() … Open. My. SQL() … ORACLE My. SQL Code must be changed to migrate to a new DB

Middleware Open. DB() Database Middleware Oracle Driver My. SQL Driver Open. Oracle() Open. My. Middleware Open. DB() Database Middleware Oracle Driver My. SQL Driver Open. Oracle() Open. My. SQL() ORACLE My. SQL

Middleware w/ODBC Open. DB() Microsoft -> ODBC SQL Driver Access Driver Open. SQL() Open. Middleware w/ODBC Open. DB() Microsoft -> ODBC SQL Driver Access Driver Open. SQL() Open. Access() SQL Access

Middleware BDE and ODBC Open. DB() DBOpen() ODBC BDE Oracle Driver Open. Oracle() BDE Middleware BDE and ODBC Open. DB() DBOpen() ODBC BDE Oracle Driver Open. Oracle() BDE to ODBC Driver Paradox Driver Open. Paradox() Paradox ORACLE NOT PERFECT!

How do we get here? STANDARDIZATION! • We got tired of being unproductive. • 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

Standardization Explosion • Java is an attempt to standardize everything – language features – 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 always competing standardization and degrees.

So what now? • You’re jumping in midstream so it’s hard to see. • 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. • J 2 EE is a standardization of application development. • It’s not simple… but not too hard for you!

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

From Roman From Roman

Client Interface Business Logic Our Main Focus Back. End From Roman Client Interface Business Logic Our Main Focus Back. End From Roman

J 2 EE Technologies • • EJB RMI JNDI JDBC JTS (Transactions) servlets JSP J 2 EE Technologies • • EJB RMI JNDI JDBC JTS (Transactions) servlets JSP JAAS (Authorization & Authentification)