IT-Session-02

advertisement
Application Programming Languages
• Machine Language – First generation – write all
program instructions in terms of binary code (0s and 1s)
• Assembly – Second generation
• Close to m/c language,
• Designed for a specific m/c and microprocessors
• Has advantage, but difficult and costly to write and
learn
• Still used today for writing system software
1
• High-level Languages – e.g., C, COBOL, C++, Basic,
FORTRAN, Pascal etc.
• Procedural, textual interface
• Used for different kinds of application programs
• C – PC based, efficient programs, portability,
systems software too
• C++ - OO version of C used for application software
as well as system software
• COBOL – Business administration to process large
data files with alphanumeric characters
• Basic – Used mainly in education and training, to
introduce programming concepts to students
• Pascal – primarily used in computer science courses to teach
sound programming practices
• FORTRAN – processes mainly numeric data, scientific and
engineering applications
• Visual Basic – visual programming tool for creating
applications running on windows
Fourth Generation Languages:
• Consists of a variety of software tools that enable end users to
develop software applications
• Minimal technical assistance, graphical interface
• Also increases professional programmers’ productivity
• Tend to be non – procedural than conventional programming
languages
Contd..
• No need to specify a strict sequence of steps
• Need only to specify what has to be accomplished
• Some nonprocedural languages use ‘natural language
processors’ e.g., speech recognition
• Tightly integrated with GUI screens
• Used to generate complex reports
• Find wide application in development of business and
commercial application packages
• However for scientific and technical work, the third
generation languages are still preferred
• Seven categories of fourth generation languages
Contd..
• PC software tools – general purpose application software
packages
• for PCs e.g., MS Word, Internet Explorer, MS Access
• Query language – for retrieving data stored in databases,
supports a variety of query services not defined earlier e.g.,
SQL
• Report generator
• Extracts data form files/databases,
• Creates customized reports,
• Wide range of formats
• More control and flexibility over formatting than query
languages
Contd..
• RPG III
• Graphics language – retrieves data from files/databases,
displays them in graphical format, can perform arithmetic
and logical operations on data as well e.g., Systat, SAS
graph
• Application generator
• Contain preprogrammed modules that can generate
applications, including web sites
• Speeds development greatly
• Creates appropriate program code
• PowerBuilder, MS FrontPage
Contd….
• Application software package
• Packages sold/distributed by commercial vendors to
eliminate/replace in-house custom built software
• PeopleSoft, SAP R/3
• Very high-level programming language
• Generate program code with fewer instructions than
conventional languages
• Productivity enhancement tools for professional
programmers
Visual Programming:
• Construction of software programs by selecting and
arranging programming objects rather that by writing
program code
• One of the offshoots of the Object-Oriented paradigm
• WebSphere, SunOne Studio 5
JAVA:
• Platform independent, object-oriented
language developed by Sun Microsystems
programming
• Designed to run on any computer or computing device
• Not tied to any microprocessor or any OS
Contd….
• Even a smart cell phone or PDA can share the same Java
program
• Can create ‘applications’, ‘applets’, or ‘servelets’
• Applets reside on centralized network servers
• Server delivers the requisite applets for specific functions
• Provide interactive capabilities for web pages
• Java is a very robust – platform
• Can handle text, data, graphics, sound, and video all in a
single program
Hypertext Markup Language (HTML):
• Page description language for creating hypertext or
hypermedia documents such as web pages
• Uses instructions called tags to specify how the text,
graphics, sound and video are displayed on a web
document/page
• Tags are also used to create dynamic links to other web
pages and objects stored in the same or remote computers
• HTML programs are not written manually
• Created using HTML editors such as MS FrontPage
eXtensible Markup Language (XML):
• New language for improving the usefulness of the web
documents
• HTML limits itself to how the text and images should be
displayed on a web page
• XML describes what the data in those documents mean
• This ensures that data elements can be used in computer
programs for effective manipulation or further processing
• In XML, the XML tag specifies whether a number
represents a price, a date, or a ZIP code
• The XML tags enrich the elements with their exact
meanings
Contd….
• So, computer programs can retrieve specific type of data
from the web page, manipulate them and analyze and
interpret the data items on the fly
• Example – analyzing on line sales data over a period and
displaying the same dynamically
• XML has already become a widely used technology for
web applications
• XML provides a standard format for data exchange
• XML Document Type Definition (DTD) – directory of
standards i.e., RosettaNet an XML dictionary developed by
34 leading companies
• Enables the sending and receiving parties to describe data
the same way
Client/Server Computing
• In client/server computing, desktops called clients are
networked to server computers
• Servers provide the clients with a variety of services and
capabilities
• Computer processing work is split between these two types
of machines
• The client is the point of entry
Contd…
• The server
• provides communication among the clients and
processes
• stores shared data
• serves up web pages, or
• manages network activities
• The term server refers to both the software application and
the physical computer on which the network software runs
• Servers could be mainframes or midrange computers or
powerful PCs
Client/Server Architecture
• Two-tier client/server architecture – the simplest
client/server network with a client networked to a server
computer, with processing split between the two
o Presentation (UI)/application logic
o Storage
• The application logic is placed within the user interface,
which also reads and writes directly to the database
• Example – small business applications
• Classic Three-tier architecture –
o Presentation – UI
o Application Logic (model)
• Storage (persistent storage mechanism)
• The presentation layer is separated
• In two-tier architecture, the integration of UI and
application logic inhibits software reuse, and makes
maintenance more complicated
• This is obviated in three-tier architecture
• Also we have the flexibility to change/modify the
presentation without having to recompile the model
Contd…..
• Multi-tiered (N-tier) client/server architectures
• The work of the entire network is balanced over several
different levels of servers, depending on the kind of service
requested
• A client request may be served by a web server, which
stores and manages web pages
• A particular clients request to have corporate info may be
passed along to the application server
Contd…..
• The application server handles all application operations
between a user and an organization’s back-end business
systems
• The application server may reside on the same computer
as the web server, or may reside on another dedicated
computer
• Client/server computing enables computing work to be
distributed across a number of smaller machines – cost
advantage
Basic Operating Systems Concepts
An operating system is software that acts as an intermediary
between the user (application programs) and the hardware
Two main goals:
-
to help the user to run programs in a convenient way
-
to run programs in an efficient manner: resource
allocation (memory, CPU, devices, storage space,...)
Shell: part of the operating system that accepts user
commands.
-
text based (e.g. MS DOS)
-
graphical user interface – GUI (MS WINDOWS)
Contd….
Kernel: to allocate, to use and to free resources in an
efficient way:
- memory management
- processor management
- device management
- storage management
Memory management:
- to allocate memory: (look up for free memory
addresses)
 mono-programming: one single program in main
memory
Contd…
 multitasking: several programs from one user in main
memory
 multi-programming: several programs from several users in
main memory
 virtual memory: additional disk storage is used to store
(parts) of running programs (backing store for main
memory)
-
to free used memory
Processor management:
- to allocate processing time to active programs
(processes):
 time sharing: CPU time is shared by several programs
(scheduling)
 multithreading: CPU time is shared by several ‘threads’
(program pieces)
 multiprocessing: programs can share several CPUs either
in a symmetric way (SMP) (processors are peers) or in an
asymmetric way (master-slave relationship between
processors)
Device management:
- regulates the traffic between the CPU and the I/O devices
- device drivers: low-level software to initiate and to control
the I/O to and from an I/O device
- spool (Simultaneous Peripheral Operations On-line):
printer output is sent to disk storage in order to solve the
problem of concurrent printing:
Contd….
 concurrent printing on one printing device
 cancel unwanted print jobs
 change print job priorities
 memory can be freed during printing process
Storage management (information management):
- to organise and retrieve the information stored on
storage media (tapes, disks, …)
- allocation of storage capacity
- remove of files, directories
- file system structure
- Directories
- files, Inodes
- security
Download