The Object-Oriented Thought Process Chapter 13

Slides:



Advertisements
Similar presentations
Overview Environment for Internet database connectivity
Advertisements

COM vs. CORBA.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
BICS546 Client/Server Database Application Development.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Introduction to Web Interface Technology (CSE2030)
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Scripting Languages Client Side and Server Side. Examples of client side/server side Examples of client-side side include: JavaScript Jquery (uses a JavaScript.
Introduction and Principles Web Server Scripting.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Web Services An Introduction Copyright © Curt Hill.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
XML: The Three Revolutions
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
National College of Science & Information Technology.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
HTML 2.0HTML 3.2 HTML 4.0 HTML 4.01 XHTML malformed, non-standard markup.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Website Source Code Free Download.
Internet and Distributed Application Services
CX Introduction to Web Programming
Web Programming Language
WWW and HTTP King Fahd University of Petroleum & Minerals
Common Object Request Broker Architecture (CORBA)
Web Development Web Servers.
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
WEB SERVICES.
Chapter 15 Database Connectivity and Web Technologies
AJAX and REST.
Unit – 5 JAVA Web Services
CORBA Alegria Baquero.
Distributed web based systems
Processes The most important processes used in Web-based systems and their internal organization.
Topic 10: Design Elements
Introduction to J2EE Architecture
PHP / MySQL Introduction
Web App vs Mobile App.
Web Technology and DBMSs
Introduction to Web Services and SOA
Web Server Administration
Inventory of Distributed Computing Concepts and Web services
Enterprise Application Integration Styles
CORBA Alegria Baquero.
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Inventory of Distributed Computing Concepts
Component--based development
JavaScript.
Chapter 17: Client/Server Computing
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Middleware, Services, etc.
WEB SERVICES From Chapter 19, Distributed Systems
Introduction to Web Services and SOA
Presentation transcript:

The Object-Oriented Thought Process Chapter 13 Objects in Web Services, Mobile Apps, and Hybrids

Evolution of Distributed Computing Developers today need to understand how to create all the latest, coolest innovations and integrate these innovations with a lot of legacy technologies. This means that there is always a need to maintain a variety of current and legacy systems. Just think of all the COBOL code written decades ago that is still a vital piece of many companies’ IT infrastructure.

Distributed Computing Distributed computing includes many technologies, including the following : • HTML • EDI • RPC • CORBA • DCOM • XML • SOAP • Web services • ReST

Object-Based Scripting Languages Remember that C++ is considered to be object-based because object-oriented concepts are not necessarily enforced. You can write a non-object-oriented C program using a C++ compiler. There is also a class of languages called scripting languages—JavaScript, VBScript, ASP, JSP, PHP, Perl, and Python all fall into this category.

Client Security Because anyone can bring up a web browser, it would be very foolish to let the client (browser) access the database directly. Thus, when the client needs to inspect or update the database, it must request the operation from the server. This is a basic security issue.

Redundant Validation It is important to note that validation should be done on both ends for any web applications. There are ways for clients to post results directly to a server without the client validation, or they could shut off the client script and still submit bad values.

JavaScript To understand the power of the scripting languages, we must first understand the limitations of HTML. HTML is a markup language that provides functionality, not inherent programming capabilities. There is no way in HTML to program an IF statement or a loop. Thus, in the early days of HTML, there was little if any way to validate data on the client side.

Java Versus JavaScript Although Java and JavaScript are both based on C syntax, they are not directly related. Whereas languages like Java and C# exist as independent application entities, on the client side JavaScript is normally considered to “live” within the confines of a browser. However, JavaScript files can exist independently as external code file and libraries (jQuery for example).

Objects in a Web Page There are many ways you can utilize objects within an HTML file for use in a web page. Objects can be implemented via a scripting language, as in a JavaScript validation. External objects can also be included within an HTML file. There are many examples of these external objects. Some play various media, like music and movies. Others can execute objects created by third-party software such as PowerPoint or Flash.

JavaScript Objects Object programming is inherent to the process of JavaScript programming. Although many names, such as component, widgets, controls, and so on, describe the parts of a user interface, they all relate to the functionality of an object.

JavaScript Objects You can use several objects to create this web page. Consider the following web page objects: The text box The button The form Each of these has properties and methods.

Web Page Controls Many types of objects can be embedded directly into an HTML document. Web page controls consist of a wide array of prebuilt objects. To utilize these objects, an <object> tag is provided. As an example, we will use a Slider control to include in a simple web page: <object classid=”clsid:F08DF954-8592-11D1-B16A-00C0F0283628” id=”Slider1” width=”100” height=”50”>

Browser Compatibility As always, be aware that not all objects work with all browsers or on all operating systems.

Distributed Objects and the Enterprise Perhaps the most basic definition of enterprise computing is that it’s essentially distributed computing. Distributed computing is just what the name implies, a distributed group of computers working together over a network. In this context, a network can be a proprietary network or the Internet.

The Common Object Request Broker Architecture (CORBA) CORBA made a major contribution to the development community as the Internet was first becoming a major force in the marketplace in the mid 1990s. The main premise of CORBA is this: Using a standard protocol, CORBA allows programs from different vendors to communicate with each other.

The Common Object Request Broker Architecture (CORBA) CORBA, and similar technologies like DCOM, can be considered the middleware for a variety of computer software applications. Basically, middleware provides services that allow application processes to interact with each other over a network. These systems are often referred to as multi-tiered systems.

Wrappers As we explained earlier in the book, one common use of objects is that of a wrapper. Today there are a lot of applications written on legacy systems. In many cases, changing these legacy applications is either impractical or not cost-effective. One elegant way to connect legacy applications to newer distributed systems is to create an object wrapper that interfaces with the legacy system.

Internet Inter-ORB Protocol Just as HTTP is the protocol for web page transactions, Internet Inter-ORB Protocol (IIOP) is a protocol for distributed objects that can be written in a variety of programming languages. IIOP is a fundamental piece of standards like CORBA and Java RMI.

Web Services Definition At this point in time, we will use the W3C general definition of a web service: A “client and a server that communicate using XML messages using the SOAP (Simple Object Access Protocol) standard.”

RPC Remote procedure calls (RPC) are a communication process that allows the invocation of (object) services from another computer on a shared network. When the systems are indeed object-oriented, RPC can also be called remote method invocation (RMI). The method call is seamless in the sense that the developer never knows (or doesn’t need to know) whether the service is local or remote.

SOAP SOAP is a communication protocol used for sending messages over the Internet. SOAP Is theoretically platform and language independent and is based on XML. communicates between applications using the HTTP protocol, because it is common for user client applications to utilize browsers. extends the functionality of HTTP to provide more functional web services.

Representational State Transfer (ReST) ReST is a stateless protocol that basically relies on HTTP. Because HTTP is the foundation of the Internet itself, in many ways it can be said that the Internet’s architecture is based on ReST, often called RESTful architectures.

Representational State Transfer (ReST) The fundamental feature of ReST is that it uses HTTP requests to create, update, read, and delete data. As a result, ReST can be utilized in place of other technologies, such as RPC, or web services, like SOAP, because it provides all the necessary underlying functionality. In short, ReST is a lightweight approach to web services.