Prasad Seminar
Prasad Seminar
Prasad Seminar
CHAPTER 1
INTRODUCTION
Now we are living in a web enabled world Internet is now a vital part of our life The changes that
internet has caused is that much that today rather than representing the earth as a combination of
continents and oceans, representing as a combination of inter linked Pes, fax machines and other
such devices is more efficient. In this sense, it's good to have some information regarding
Embedded Web Technology (EWT) embedded web technology was developed by members of
NASA Lewis research centre, flight software engineering branch of the engineering and design
analysis division of the engineering and technical services directorate. It is an integration of
embedded system and web technology. As this technology is an integration of embedded system
and web technology it is being used to turn units into internet appliances.
Embedded web technology encompasses the fusion of web-based functionalities into specialized
computing devices known as embedded systems, designed to execute specific tasks within various
domains such as industrial automation, home automation, and automotive electronics. These
systems are equipped with networking capabilities, enabling connectivity to local networks or the
internet through protocols like Wi-Fi, Ethernet, Bluetooth, or cellular networks. Central to this
technology is the implementation of lightweight web servers on embedded devices, facilitating the
hosting of web applications or APIs. These web-based interfaces allow users to remotely interact
with the device, monitor its status, configure settings, and control its behavior using standard web
browsers or dedicated applications. Development of embedded web applications relies on familiar
web technologies like HTML, CSS, JavaScript, and server-side scripting languages such as Python
or Node.js, enabling the creation of dynamic and responsive user interfaces. Security is paramount
in embedded web technology, with measures like encryption, authentication, access control, and
secure coding practices crucial for safeguarding devices and data from unauthorized access and
cyber threats. Embedded web technology also plays a pivotal role in the Internet of Things (IoT)
ecosystem, facilitating seamless communication and data exchange between interconnected
devices and cloud-based services.
CHAPTER 2
EWT-BASICS
As this seminar is about embedded web technology it's necessary that we should understand the
following which are key for understanding embedded web technology Embedded system.
• Embedded system
• Embedded Web Server
• Client server model
An embedded system is a computer system with a dedicated function within a larger mechanical
or electrical system, often with real-time computing constraints. It is embedded as part of a
complete device often including hardware and mechanical parts. Embedd ed systems control many
devices in common use today. Embedded technology is software or hardware that is hidden
embedded in a large device or system. It typically refers to a fixed function device, as compared
with a PC, which runs general-purpose applications Properties of typical embedded computers
when compared with general-purpose ones are. low power consumption, small size, rugged
operating ranges and low per-unit cost. This comes at the price of limited processing resources,
which make them significantly more difficult to program and to interface with. However, by
building intelligence mechanisms on the top of the hardware, taking advantage of possible existing
sensors and the existence of a network of embedded units, one can both optimally manage available
resources at the unit and network levels as well as provide augmented functionalities, well beyond
those available. For example, intelligent techniques can be designed to manage power
consumption of embedded systems. Since the embedded system is ded icated to specific tasks,
design engineers can optimize it to reduce the size and cost of the product and increase the
reliability and performance. Some embedded systems are mass- produced, benefiting from
economies of scale.
Embedded systems are commonly found in consumer, cooking, industrial, automotive, medical,
commercial and military applications. Telecommunications systems employ numerous embedded
systems from telephone switches for the network to cell phones at the end -user. Computer
networking uses dedicated routers and network bridges to route data Consumer electronics include
personal digital assistants (PDAs), mp3 players, mobile phones, videogame consoles, digital
cameras, DVD players, GPS receivers, and printers. Household appliances, such as microwave
ovens, washing machines and dishwashers, include embedded systems to provide flexibility,
efficiency and features
Embedded Systems talk with the outside world via peripherals, such as:
In addition to the core operating system, many embedded systems have additional upper-layer
software components. These components consist of networking protocol stacks like CAN, TCP/IP,
FTP, HTTP, and HTTPS, and also included storage capabilities like FAT and flash memory
management systems. If the embedded device has audio and video capabilities, then the
appropriate drivers and codecs will be present in the system.
• HTTP is a well studied cross-platform protocol and there are mature implementations
freely available.
• HTTP is seldom blocked by firewalls and intranet routers.
• HTTP clients (e.g. Web browsers) are readily available with all modern computers.
• There is a growing tendency of using embedded HTTP servers in applications that
parallels the rising trends of home-networking and ubiquitous computing.
Natural limitations of the platforms where an embedded HTTP server runs contribute to the list
of the non-functional requirements of the embedded, or more precise, embeddable HTTP server.
Some of these requirements:
• "Small" RAM and ROM footprint. The exact size depends on the system, but in many
cases anything over several megabytes is not embeddable.
• Minimal CPU utilization.
• Cross compilation support for multiple CPU and operating system combinations.
• Easy integration with an existing application, including static linking with the operating
system and application.
• Serving pages from application memory if there is no file system.
• Modularity.
There are two primary actors when communicating over the web, the server and the client. Client
A logical entity that initiates a request for data or for an action to take place. A client depends upon
the presence of an associated server to perform requests. A client may refer to client software,
client hardware, or a combination of the two to implement a logical client. Server-A
complementary logical entity to a client. A server listens for client requests and services those
requests, whether the request is for data or for an action to be performed. A server may refer to
server software, server hardware, or a combination of the two used to implement a logical server
For right now think of the server and the client as two desktop computers. The server computer
waits for the client computer to initiate communication and then the client computer makes a
request for information. If the server computer understands the request it replies with a response
else it doesn't reply to the. server. This pattern is called the client-
The client-server model is a distributed application structure that partitions tasks or workloads
between the providers of a resource or service, called servers, and service requesters, called clients.
Often clients and servers communicate over a computer network on separate hardware, but both
client and server may reside in the same system. A server host runs one or more server programs
which share their resources with clients. A client does not share any of its resources, but requests
a server's content or service function. Clients therefore initiate communication sessions with
servers which await incoming requests. Email, network printing, and the World Wide Web are
examples of client server pattern. As in the figure this pattern uses the request response message
exchange pattern. It is a simple yet powerful method of messaging which allows two applications
to have two way conversations with one another over a channel
The following is an apt example of client server model -When a bank customer accesses online
banking services with a web browser (the client), the client initiates a request to the bank's web
server. The customer's login credentials may be stored in a database, and the web server accesses
the database server as a client. An application server interprets the returned data by applying the
bank's business logic, and provides the output to the web server. Finally, the web server returns
the result to the client web browser for display. In each step of this sequence of client-server
message exchanges, a computer processes a request and returns data. This is the request-response
messaging pattern. When all the requests are met, the sequence is complete and the web browser
presents the data to the customer
CHAPTER 3
EWT-EXPLAINATION
Embedded Systems have traditionally been developed in a highly customized manner. The user
interface hardware and software along with the interface to the embedded system are typically
unique to the system for which they are built, resulting in extra cost to the system in terms of
development time and maintenance effort. World Wide Web standards have been developed in the
past ten years with the goal of allowing servers and clients to interoperate seamlessly. The client
and server systems can consist of differing hardware and software platforms but the World Wide
Web standards allow them to interface without knowing about the details of system at the other
end of the interface. Embedded Web Technology is the merging of Embedded Systems with the
World Wide Web. Embedded Web Technology decreases the cost of developing and maintaining
the user interface by allowing the user to interface to the embedded system through a web browser
running on a standard personal computer. Embedded Web Technology can also be used to simplify
an Embedded System's internal network.
Embedded Web Technology was developed for the Fluids and Combustion Facility (FCF) of the
International Space Station (ISS). FCF is being developed to perform investigations in combustion
science and fluids physics in the microgravity environment of the ISS The World Wide Web is
based on the Hypertext Transfer Protocol (HTTP), the protocol used by web servers and web
browsers to communicate The FCF software engineers did an extensive search to find an HTTP
compliant web server that would fit the requirements of FCF. FCF, being an embedded, real time
system, would require the web server to be small, operate under VxWorks®, and still allow the
system to meet its real-time requirements. The search failed to find such a web server. The FCF
software engineering team decided to write their own web server and this proved successful. The
web server, known as Tempest, is HTTP compliant. It implements two of the seven request
methods defined in the HTTP specification, GET and HEAD.
A typical web server runs on a computer that is running a nonrealtime operating system. The web
server software itself tends to be large and complex and requires a lot of memory and disk space,
on the order of 10 MB or more. The web servers are designed to run on personal computers and
general purpose workstations. The embedded, real-time environment is much more restricted. The
system generally consists of an embedded processor running a real-time operating system and also
running a real-time application. Embedded systems have limited memory and disk space that is
not easily extensible. The users of these two environments have different needs of the systems.
The user of the nonrealtime environment is usually interested in obtaining static or slowly
changing information. This information is stored in files and retrieved by the web browser for
display by the user. The user can read the information on the display at his own pace or print it out
and read it without the aid of the browser. A user of a real-time system, on the other hand, is
interested in obtaining the most current data from the system at regular intervals. The user may
require the capability to issue commands to the embedded system.
The World Wide Web is a collection of protocol standards that are controlled by the World Wide
Web Consortium®. The protocol standards promote evolution of the World Wide Web and ensure
its interoperability. The key protocol standard behind the World Wide Web is the Hypertext
Transfer Protocol, HTTP, specified in RFC 2616. HTTP is "an application-level protocol for
distributed, collaborative, hypermedia information systems." (RFC 2616). HTTP is used to transfer
information between a web server and a web client, which is typically a web browser such as
Netscape. A typical web client request of a service from a web server will consist of a GET request.
The web server responds to the GET request from the web client by transmitting the requested
information, typically an electronic file.
There are two problems that need to be solved in order for an embedded system to become
accessible on the World Wide Web. One is providing a user interface that provides the real-time
interaction needed by the user in order to properly interface to the system. The other is to give the
embedded system the capability to serve web pages over the World Wide Web. One feature of the
web browser that helped bridge the gap between the two environments is the addition of Java™
applets. Applets are programs that are capable of being executed by a web browser. They are
written in the Java™ language, compiled and then stored on the web server's computer. When a
web page is transmitted to a web browser, the web browser scans through the web page, looking
for, among other things, applet tags.
When an applet tag is found, the web browser automatically makes another request to the web
server for the applet. The applet gets sent to the web browser which in turn loads the Java™™
Virtual Machine which starts running the applet. In the typical web environment, applets provide
an interface that is dynamic but usually does not interact with the web server's computer. For
security purposes, applets are very restricted in what they can do in a web browser environment.
It is possible to bypass these restrictions with security certificates if they are an impediment. One
capability an applet has by default is the ability to communicate back to the computer that served
it to the web browser. This communication can be accomplished with basic socket technology,
Java's™ Remote Method Invocation (RMI), Common Object Request Broker Architecture
(CORBA®) technology, or other protocols. RMI is a communication technology specific to Java™
that allows networked Java™ programs to interface in a platform independent manner. CORBA®,
developed by the Object Management Group™, is a technology that allows networked programs
to communicate in a common manner that is independent of the underlying hardware, operating
system or language. With this capability, it is possible to develop an applet that can interact
dynamically with an embedded, real-time system and, thus, let the web browser provide a user
interface that meets the needs of the user. On the embedded system side, the problem is providing
the capability to be a web server without overburdening the system with all of the functionality
specified in the HTTP specification. The embedded system software still needs to be able to
perform realtime command and control. This problem was solved by the development of Tempest.
CHAPTER 4
EWT- WORKING
The embedded Web system works on the same principle as that traditional Web request- response
system. Web pages from the embedded system (server) are transmitted to the Web browser (client),
which implements the user interface (Presentation layer). Web-enabled devices use the HTTP
(Hyper Text Transfer Protocol) standard protocol to transmit Web pages from the embedded
system to the Web browser, and to transmit HTML (Hyper Text Markup Languages) form the data
from the browser back to the device. The HTTP protocol engine takes the request from the Web
browser and sends it on the TCP/IP. The HTTP protocol Engine parses the request and sends it to
the embedded application for processing. After producing the results, the embedded application
generates the HTML code and feeds it to the HTTP Engine, which sends it back to the client using
TCP/IP.
With the utilisatin of tempest it is now possible to have an embedded real-time system appear as a
node on the world wide web. The remote user simply needs a computer with a web browser capable
of running a Java™ applet. The remote user only needs to enter the uniform resource locator (URL)
of the embedded system into the browser. The embedded system needs to be up and running.
Minimally, it needs to have Tempest running and an application to interface to the syst em and
handle requests from the user interface. The web browser sends an HTTP message to the embedded
system, requesting the web page. If the user needs to enter a user I.D. and password, Tempest
responds with a request for the user to be authenticated. Once the user is authorized, Tempest
retrieves the web page from local storage. If the file has an extension of "sht", "shtm", or ".shtml",
Tempest reads through the file and processes any Tempest tags When this step is complete, the
web page is delivered to the web browser. The web browser. displays the web page and also
requests any additional resources from the embedded system. These resources may include images
and an applet. When the applet gets sent to the browser, the browser starts up its Java™ Virtual
Machine which starts up the applet. The applet establishes a connection back to the embedded
system, utilizing a different TCP port form the one being used by Tempest, which is typically 80.
While the connection is being established, the applet also begins the user interface. Since Java™
supports multitasking, the applet should be designed so that the user interface screens run in a
separate task from the interface to the embedded system. This gives a smoother running interface
and also makes it easier to recover from communication drops without locking the user out.
CHAPTER 5
ADVANTAGES
Utilizing Embedded Web Technology has several advantages. Since the web browser does
not store the applet permanently, the user interface software is not accessible to unauthorized users
once the web browser is turned off. It is possible to configure present day web browsers to
eliminate the cache so that the applet gets deleted. User interface software upgrades are simpler
with Embedded Web Technology. Without Embedded Web Technology, the user of the real-time
system also needs to have the user interface software stored locally. The result is that the user is
restricted to using only the computer that has the user interface software loaded and upgrades to
the software can be more difficult to obtain. The updates require the user to find out about the
upgrade and then a process needs to be put in place to deliver the upgraded software to the user.
The upgraded software may also need to be capable of running on various platforms, making
upgrades more difficult for the developer. With Embedded Web Technology, the user interface
software is stored in the embedded system and delivered to the user when it is needed. When the
user interface software is upgraded, it only needs to be stored in the embedded system. The user
gets the new software the next time they access the system.
Tempest also provides the capability to provide output to the remote user in any format the
system designer desires. Although the Tempest tag is typically embedded into a web page that is
html, it is possible to set up a file that consists of only a Tempest tag calling a local command that
outputs something other than html, such as XML. As an example, Tempest could be used to feed
real-time data into a database using XML...
CHAPTER 6
APPLICATIONS
CHAPTER 7
CONCLUSION
REFERENCES
[1]. Embedded Web Technology: Applying World Wide Web Standards to Embedded
Systems- Joseph G. Ponyik and David W. York Glenn Research Center, Cleveland, Ohio;
NASA/TM-2002-211199/March 2002/AIAA-2001-5107
[6]. Dustdar, S.; Schreiner, W. (2005). "A survey on web services composition".
International Journal 1. Doi:10.1504/IJWGS.2005.007545. of Web and Grid Services 1:
[7]. Li Shenyang, HanTao, "Application of embedded WEB server technology" [J]. Journal
of higher correspondence education (natural sciences) 2003, (6) Vol. 16 No. 3:47-50.
[8]. Han XiaoTao, Yin XiangGen, Zhang Zhe, LI Wei," Review of server technology and
its application in power Technology 2003,(5): 58-62 system" embedded web Power System