
3cb0e50dca73eb0bd3219bb04c253197.ppt
- Количество слайдов: 20
Client and Server Design J 2 EE 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?
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 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 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 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 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 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 be changed to migrate to a new DB
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. Access() SQL Access
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. • 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 – 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. • 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 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
Client Interface Business Logic Our Main Focus Back. End From Roman
J 2 EE Technologies • • EJB RMI JNDI JDBC JTS (Transactions) servlets JSP JAAS (Authorization & Authentification)