Monday, June 22, 2009

APPLICATION PROGRAMMING INTERFACE

An application programming interface (API) is a set of routines, data structures, object classes and/or protocols provided by libraries and/or operating system services in order to support the building of applications.[1]
An API may be :
Language-dependent; that is, available only in a particular programming language, using the particular syntax and elements of the programming language to make the Application Programming Interface convenient to use in this particular context.
Language-independent; that is, written in a way that means it can be called from several programming languages (typically an assembly or C interface). This is a desired feature for a service-style API that is not bound to a particular process or system and is available as a remote procedure call.
The API itself is largely abstract in that it specifies an interface and controls the behavior of the objects specified in that interface. The software that provides the functionality described by an API is said to be an implementation of the API. An API is typically defined in terms of the programming language used to build an application. The related term, ABI (Application Binary Interface), is a lower level definition concerning details at the Assembly language level. For example, the Linux Standard Base is an ABI, while POSIX is an API.[2]
The API acronym may sometimes be used as a reference not only to the full interface but also to a single function or even a set of multiple APIs provided by an organization. Thus the scope is usually determined by the person or document that communicates the information.

Saturday, June 20, 2009

CLIENT SERVER SYSTEMS

A computing system that is composed of two logical parts: a server, which provides services, and a client, which requests them. The two parts can run on separate machines on a network, allowing users to access powerful server resources from their personal computers. Client-server systems are not limited to traditional computers.
An example is an automated teller machine (ATM) network. Customers typically use ATMs as clients to interface to a server that manages all of the accounts for a bank. This server may in turn work with servers of other banks (such as when withdrawing money at a bank at which the user does not have an account). The ATMs provide a user interface and the servers provide services, such as checking on account balances and transferring money between accounts.
Client-server computing or networking is a distributed application architecture that partitions tasks or work loads between service providers (servers) and service requesters, called clients. Often clients and servers operate over a computer network on separate hardware. A server is a high-performance host that is a registering unit and shares its 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 (listen to) incoming requests.

XML TECHNOLOGIES

XML Related Technologies
Below is a list of XML technologies.
XHTML (Extensible HTML) A stricter and cleaner XML based version of HTML.
XML DOM (XML Document Object Model)A standard document model for accessing and manipulating XML.
XSL (Extensible Style Sheet Language) XSL consists of three parts:
XSLT (XSL Transform) - transforms XML into other formats, like HTML
XSL-FO (XSL Formatting Objects)- for formatting XML to screen, paper, etc
XPath - a language for navigating XML documents
XQuery (XML Query Language)An XML based language for querying XML data.
DTD (Document Type Definition)A standard for defining the legal elements in an XML document.
XSD (XML Schema)An XML-based alternative to DTD.
XLink (XML Linking Language)A language for creating hyperlinks in XML documents.
XPointer (XML Pointer Language)Allows the XLink hyperlinks to point to more specific parts in the XML document.
XForms (XML Forms) Uses XML to define form data.
SOAP (Simple Object Access Protocol)An XML-based protocol to let applications exchange information over HTTP.
WSDL (Web Services Description Language)An XML-based language for describing web services.
RDF (Resource Description Framework)An XML-based language for describing web resources.
RSS (Really Simple Syndication)A format for syndicating news and the content of news-like sites.
WAP (Wireless Application Protocol)A XML based language for displaying content on wireless clients, like mobile phones.
SMIL (Synchronized Multimedia Integration Language)A language for describing audiovisual presentations.
SVG (Scalable Vector Graphics) Defines graphics in XML format.

Friday, June 19, 2009

How is SOAP Used?

There are many possible applications for SOAP, here are just a couple:
Business to Business integration - SOAP allows businesses to develop their applications, and then make those applications available to other companies
Distributed applications - programs like databases could be stored on one server and accessed and managed by clients across the Internet

SIMPLE OBJECT ACCESS PROTOCOL-SOAP

A group of vendors from Microsoft, IBM, Lotus and others, created an XML-based protocol that lets you activate applications or objects within an application across the Internet. In a nutshell, SOAP codifies the practice of using XML and HTTP to invoke methods across networks and computer platforms.

Avoid XML Attributes

Some of the problems with using attributes are:
attributes cannot contain multiple values (elements can)
attributes cannot contain tree structures (elements can)
attributes are not easily expandable (for future changes)
Attributes are difficult to read and maintain. Use elements for data.

Use attributes for information that is not relevant to the data.

The Difference Between XML and HTML

XML is not a replacement for HTML.
XML and HTML were designed with different goals:
XML was designed to transport and store data, with focus on what data is.
HTML was designed to display data, with focus on how data looks.
HTML is about displaying information, while XML is about carrying information.

Wednesday, June 17, 2009

Windows Server Domain

A Windows Server domain is a logical group of computers running versions of the Microsoft Windows operating system that share a central directory database. This central database (known as Active Directory starting with Windows 2000[1], also referred to as NT Directory Services on Windows NT Server operating systems, or NTDS) contains the user accounts and security information for the resources in that domain. Each person who uses computers within a domain receives his or her own unique account, or user name. This account can then be assigned access to resources within the domain.
In a domain, the directory resides on computers that are configured as "domain controllers." A domain controller is a server that manages all security-related aspects between user and domain interactions, centralizing security and administration. A Windows Server domain is normally more suitable for moderately larger businesses and/or organizations.

Unix Operating System

Unix operating systems are widely used in both servers and workstations. The Unix environment and the client-server program model were essential elements in the development of the Internet and the reshaping of computing as centered in networks rather than in individual computers.
Both Unix and the C programming language were developed by AT&T and distributed to government and academic institutions, causing both to be ported to a wider variety of machine families than any other operating system. As a result, Unix became synonymous with "open systems".
Unix was designed to be portable, multi-tasking and multi-user in a time-sharing configuration. Unix systems are characterized by various concepts: the use of plain text for storing data; a hierarchical file system; treating devices and certain types of inter-process communication (IPC) as files; and the use of a large number of software tools, small programs that can be strung together through a command line interpreter using pipes, as opposed to using a single monolithic program that includes all of the same functionality. These concepts are known as the Unix philosophy

Chat server

A computer dedicated to providing the processing power to handle and maintain chatting and it users.

RealTimeSystems

In computer science, real-time computing (RTC) is the study of hardware and software systems that are subject to a "real-time constraint"—i.e., operational deadlines from event to system response. By contrast, a non-real-time system is one for which there is no deadline, even if fast response or high performance is desired or preferred. The needs of real-time software are often addressed in the context of real-time operating systems, and synchronous programming languages, which provide frameworks on which to build real-time application software.
A real time system may be one where its application can be considered (within context) to be mission critical. The anti-lock brakes on a car are a simple example of a real-time computing system — the real-time constraint in this system is the short time in which the brakes must be released to prevent the wheel from locking. Real-time computations can be said to have failed if they are not completed before their deadline, where their deadline is relative to an event. A real-time deadline must be met, regardless of system load.

DTD-DOCUMENT TYPE DEFINITION

Document Type Definition (DTD) is one of several SGML and XML schema languages, and is also the term used to describe a document or portion thereof that is authored in the DTD language. A DTD is primarily used for the expression of a schema via a set of declarations that conform to a particular markup syntax and that describe a class, or type, of document, in terms of constraints on the structure of that document. A DTD may also declare constructs that are not always required to establish document structure, but that may affect the interpretation of some documents. XML documents are described using a subset of DTD which imposes a number of restrictions on the document's structure, as required per the XML standard (XML is in itself an application of SGML optimized for automated parsing). DTDs are written in a formal syntax that explains precisely which elements and entities may appear where in the document and what the elements’ contents and attributes are. DTD is native to the SGML and XML specifications, and since its introduction other specification languages such as XML Schema and RELAX NG have been released with additional functionality.

Distributed Computing

Distributed computing deals with hardware and software systems containing more than one processing element or storage element, concurrent processes, or multiple programs, running under a loosely or tightly controlled regime.
In distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a network. Distributed computing is a form of parallel computing, but parallel computing is most commonly used to describe program parts running simultaneously on multiple processors in the same computer. Both types of processing require dividing a program into parts that can run simultaneously, but distributed programs often must deal with heterogeneous environments, network links of varying latencies, and unpredictable failures in the network or the computers.

Cookies

Cookies are pieces of information generated by a Web server and stored in the user's computer, ready for future access. Cookies are embedded in the HTML information flowing back and forth between the user's computer and the servers. Cookies were implemented to allow user-side customization of Web information. For example, cookies are used to personalize Web search engines, to allow users to participate in WWW-wide contests (but only once!), and to store shopping lists of items a user has selected while browsing through a virtual shopping mall.
Cookies are based on a two-stage process. First the cookie is stored in the user's computer without their consent or knowledge. For example, with customizable Web search engines like My Yahoo!, a user selects categories of interest from the Web page. The Web server then creates a specific cookie, which is essentially a tagged string of text containing the user's preferences, and it transmits this cookie to the user's computer. The user's Web browser, if cookie-savvy, receives the cookie and stores it in a special file called a cookie list. This happens without any notification or user consent. As a result, personal information (in this case the user's category preferences) is formatted by the Web server, transmitted, and saved by the user's computer.

During the second stage, the cookie is clandestinely and automatically transferred from the user's machine to a Web server. Whenever a user directs her Web browser to display a certain Web page from the server, the browser will, without the user's knowledge, transmit the cookie containing personal information to the Web server.

Standalone System:

A system that is completely operational without requiring external support.

Mail Server

Mail Server is a computer acting as an MTA(Mail Transfer Agent) that is running the appropriate software.
The term Mail Exchanger(MX) in the context of the Domain Name System formally refers to an IP address assigned to a device hosting a Mail Server, and by extension also indicates the server itself.

Print Server

Print Server is a Component Or device ie is connected to one or More Printers and to client computers over a network and can accept print jobs from the computer and send the job to the appropriate printers.

Fundamentals of XML

XML Markup Tags and actual data that are given meaning before the markup tag is called an XML text.
XML is good and representing data that is extensible which is an hierarchical format and needs metadata Encoding.
XML simplifies document creation, maintainance and debugging. It can be used to communicate with the party who doesn't have prior knowledge of the document contents.
XML document consist of the no discreet components or sections. Includeing all sections is not mandatory but it is advisoble.

XML NAMESPACES

Definition: An XML namespace is identified by a URI reference [RFC3986]; element and attribute names may be placed in an XML namespace using the mechanisms described in this specification.
Definition: An expanded name is a pair consisting of a namespace name and a local name. Definition: For a name N in a namespace identified by a URI I, the namespace name is I. For a name N that is not in a namespace, the namespace name has no value. Definition: In either case the local name is N. It is this combination of the universally managed IRI namespace with the vocabulary's local names that is effective in avoiding name clashes.
URI references can contain characters not allowed in names, and are often inconveniently long, so expanded names are not used directly to name elements and attributes in XML documents. Instead qualified names are used. [Definition: A qualified name is a name subject to namespace interpretation .In documents conforming to this specification, element and attribute names appear as qualified names. Syntactically, they are either prefixed names or unprefixed names. An attribute-based declaration syntax is provided to bind prefixes to namespace names and to bind a default namespace that applies to unprefixed element names; these declarations are scoped by the elements on which they appear so that different bindings may apply in different parts of a document. Processors conforming to this specification MUST recognize and act on these declarations and prefixes.

XML

"Big Web Services" use Extensible Markup Language (XML) messages that follow the Simple Object Access Protocol (SOAP) standard and have been popular with traditional enterprise. In such systems, there is often a machine-readable description of the operations offered by the service written in the Web Services Description Language (WSDL). The latter is not a requirement of a SOAP endpoint, but it is a prerequisite for automated client-side code generation in many Java and .NET SOAP frameworks (frameworks such as Spring, Apache Axis2 and Apache CXF being notable exceptions). Some industry organizations, such as the WS-I, mandate both SOAP and WSDL in their definition of a Web service

Processing Payments on an Effective E-Commerce Web Site


When setting up an e-commerce web page design you need to decide exactly what methods of payment you are going to provide your customers with. The most common form of payment on a web site is a credit card, but there are a number of other options. A summary of these options follows:
Direct Credit:The customer places their order through the web page design, then transfers the money directly into your bank account. You ship the goods once the payment has been received and verified.
Cheque:The customer places their order through the web page design, then sends you a cheque. You ship the goods once the cheque has been received and processed.

Purchase Orders:Purchase orders are useful for web sites that specialise in business-to-business transactions or transactions with account customers. The customer enters a purchase order number and the goods are shipped to the customer. The customer is billed at the end of the month for their purchases.

Cash on Delivery:The customer places their order through the web page design. Goods are shipped to the customer and the customer pays via cheque or cash on delivery.


web

A Web Service (also Webservice) is defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction over a network".[1] Web services are frequently just Internet application programming interfaces (API) that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services. Other approaches with nearly the same functionality as web services are Object Management Group's (OMG) Common Object Request Broker Architecture (CORBA), Microsoft's Distributed Component Object Model (DCOM) or SUN's Java/Remote Method Invocation (RMI).