1 / 26

Architecture of Internet-Based Contemporary Applications

Architecture of Internet-Based Contemporary Applications. Lukito E. Nugroho Department of Electrical Engineering Gadjah Mada University. Environment: Distributed Computing. Every IBCA lives in a distributed computing environment Computer hardware Network

lucia
Download Presentation

Architecture of Internet-Based Contemporary Applications

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. Architecture of Internet-Based Contemporary Applications Lukito E. Nugroho Department of Electrical Engineering Gadjah Mada University

  2. Environment: Distributed Computing • Every IBCA lives in a distributed computing environment • Computer hardware • Network • Software elements spread in different parts of the network • A unified view of applications • Characteristics • Open  extensible, heterogenous • Distributed  needs mechanisms to control its operations

  3. Important Issues in DC (1) • Interoperability: how to handle differences in hardware, operating systems, development languages and environment, etc. how they communicate ?

  4. Interoperability comes in different levels: • Hardware level: e.g., data transfer between processor <-> RAM <-> disk • Network level: data communication between different computers in a network • Application level: data communication between different applications

  5. Internet

  6. Airline reservation system Three different applications with different platforms, OS, and programming languages

  7. Important Issues in DC (2) • Security: protecting resources from unauthorized access and unexpected events • How can a database be secured from illegal access? • How can a server be protected from attacks? • How can a machine be protected from physical disturbances?

  8. Network security Data security Physical security

  9. Important Issues in DC (3) • Scalability: extending the size of a system without changing the way it works from local area network… … to the global Internet this has to be done with minimal change of the system

  10. Important Issues in DC (4) • Performance: how a system can handle its load well • Amazon has >41 million active customers (2003) • Google servers receive >1000 requests per second • Performance is always associated with reliability (how strong a system can withstand disturbances/abnormal conditions) • Users do not care about the state of infrastructure; they look at the quality of the service provided (i.e., customers do not care if servers are down or networks are congested  they demand services to be always up-and-running

  11. How to Deal with the Issues in DC ? • Faster and more reliable machines and networks  for performance & reliability issues (but not all performance/reliability problems can be solved at the hardware level) • Standardization of protocols  for issues related to interoperability and scalability • Improved tools, measures, and procedures and access mechanisms  for security issues • Internet technologies  for scalability issues  How can all of these be tied together at the application level ?

  12. “Architecture” • Definition: a fundamental underlying structure and orgaization of a system • IBCAs need to have an architecture to deal with issues in distributed computing, due to the complexities of the issues/problems and their enormous impact  The question is: what kind of architecture ?

  13. N-Tier Architecture • N-tier (or multi-tier) architecture describes a multilayer abstraction of a structure, with each layer is developed and maintained as independent modules • Two-tier • Three-tier • Four-tier

  14. Why N-tier Architecture ? • The concept of multilayer structure separates the handling of issues  principle of “divide-and-conquer” to reduce complexity • Each layer focuses on specific issues • Independent maintenance (i.e., without affecting other layers)

  15. Two-Tier Architecture A two-tier architecture Direct comm. between client and server

  16. Three-Tier Architecture • The logic tier • separates users from • data layer. • Benefits: • Improved security • Application logic can be decoupled from user interface and database access

  17. Four-Tier Architecture Example of a 4-tier architecture

  18. Four-Tier Architecture • The fourth layer (web server layer) can be used to enhance interoperability with other applications, e.g., when other applications need to access some functionality of an application without having to understand the underlying details • Web service concept • Extensive use of XML technology

  19. A Note on Application Logic Layer • Usually the most complex layer in an IBCA • Its complexity depends on the complexity of the application • Often activities spread over a broad spectrum • A planning task in an enterprise-wide decision support system may use resources from different areas • A computer-based learning system allows students to work with text, test, and practice modules • May require an additional layer for integration purposes • Special processing to incorporate information from different sources into a single piece • Special application-oriented data organization Case study: integration in enterprise information systems

  20. Web as a Computing Platform • With the advance of Internet technology, Web has been gradually developing as a computing platform on its own  the Web as a global computer with millions of processors that can be used to develop services • A service is a resource provided by one party that can be accessed by other parties • A service on the web (i.e., web service) is one that operates strictly based on web technology

  21. Example: Google On-line Spreadsheet

  22. Future Internet-Based Application Discussion: What are the impact of the emergence of Internet-based applications which traditionally only exist in stand-alone mode (e.g., office applications) ?

  23. Service-Oriented Architecture • SOA describes a software architecture that defines the use of loosely coupled software services to support the requirements of business processes and software users • Definition of SOA: a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations • Resources on a network in an SOA environment are made available as independent services that can be accessed without knowledge of their underlying platform implementation

  24. Service-Oriented Architecture

  25. The Future of Application Architecture Stand-alone application architecture Web-based application architecture Every component is homogenous and located in the same execution environment (computer) Each component is heterogenous and can be located distributedly in different execution environments (computers)

  26. The Future of Application Architecture • In the future, web can be regarded as a giant computer with each machine connected to it as processors • The beauty of this architecture is that application components are loosely decoupled from each other • They can be developed independently • They can use different platforms  We will have “one world, one computer”

More Related