<<

Kenneth Arnes Ryan Paul Jaca Network Applications Networks consist of hardware, such as servers, cables and wireless routers, and networking software. Networking software differs from software applications in that the software does not perform tasks that end-users can see in the way word processors and spreadsheets do. Instead, networking software operates invisibly in the background, allowing the user to access network resources without the user even knowing the software is operating. History o Computer networks, and the networking software that enabled them, began to appear as early as the 1970s. Early networks consisted of computers connected to each other through telephone . As personal computers became more pervasive in homes and in the workplace in the late 1980s and early , networks to connect them became equally pervasive. enabled usable and stable peer-to-peer networking with built-in networking software as early as 1995 in the .

Types y Different types of networks require different types of software. Peer-to-peer networks, where computers connect to each other directly, use networking software whose basic function is to enable and printer sharing. - networks, where multiple end-user computers, the clients, connect to each other indirectly through a central computer, the server, require networking software solutions that have two parts. The server software part, running on the server computer, stores information in a central location that client computers can access and passes information to client software running on the individual computers. Application-server software work much as client-server software does, but allows the end-user client computers to access not just data but also software applications running on the central server. Features y Networking software varies widely in the type and number of computers the software can support. Basic features common to most networking software solutions include user management, which is the ability to add and remove users to and from the network, and file management, which is the component of the software that allows the network administrator to define where data is stored and to define which users can have access to which sets of data. Considerations y Networking software packages vary widely in the degree to which they are easy to use and easy to manage, as well as in the relative security they provide for the data inside the network. Similarly, different software can provide support for different numbers of users, which can be a factor in choosing software if the network plan calls for rapid growth. Benefits y Networks and networking software allows many users to access a shared set of documents and in some cases to access a shared application. For example, a business may choose to operate an server that can send and receive for its employees and store copies of all the email messages that each employee keeps on his personal computer.

Application Server An application server is a software framework that provides an environment where applications can run, no matter what the applications are or what they do. It is dedicated to the efficient execution of procedures (programs, routines, scripts) for supporting the construction of applications. The term was originally used when discussing early client±server systems to differentiate servers that run SQL services and middleware servers from file servers. Later, the term took on the meaning of Web applications, but has since evolved further into more of a comprehensive service layer. An application server acts as a set of components accessible to the software developer through an API defined by the platform itself. For Web applications, these components are usually performed in the same machine where the Web server is running, and their main job is to support the construction of dynamic pages. However, present-day application servers target much more than just Web pages generation, they implement services like clustering, fail-over and load-balancing, so developers can be focused just on implementing the business logic. Normally the term refers to Java application servers. When this is the case, the application server behaves like an extended virtual machine for the running applications, handling transparently connections to the at one side, and connections to the Web client at the other.

Java Application Servers The Web modules include servlets, JavaServer Pages and Enterprise JavaBeans. Business logic resides in Enterprise JavaBeans - a modular server component providing many features, mostly improving application scalability. The Hibernate project offers an EJB- 3 container implementation for the JBoss application server. Tomcat from Apache and JOnAS from ObjectWeb exemplify typical containers that can store these modules. The EAServer is from Sybase inc. A Java Server Page (JSP) (a servlet from Java ² the Java equivalent of a CGI script) executes in a Web container. JSPs provide a way to create HTML pages by embedding references to the server logic within the page. HTML coders and Java can work side by side by referencing each other's code from within their own. The application servers mentioned above mainly serve Web applications. Some application servers target networks other than web-based ones: Session Initiation Protocol servers, for instance, target telephony networks. Web Server is a sub set but the Application server is a super set and hence encompasses the past server information that is been stored in database

.NET Framework Microsoft Microsoft positions their middle-tier applications and services infrastructure in the Windows Server operating system and the .NET Framework technologies in the role of an application server. Third-party

 Mono (not fully .NET compatible), developed by , Inc., licensed under GPL.  Base4 Application Server, an project  TNAPS Application Server, application server, developed by TN LLC, PHP Application Servers Are used for running and managing PHP applications. Zend Server, built by Zend Technologies, provides application server functionality for PHP- based applications Other Platforms Open-source application servers also come from other vendors. Examples include:

 Appaserver  Spring Framework Non-Java offerings have no formal interoperability specifications on par with the Java Specification Request. As a result, interoperability between non-Java products is poor compared to that of Java EE based products. To address these shortcomings, specifications for enterprise application integration and service-oriented architecture were designed[by whom?] to connect the many different products. These specifications include Business Application Programming Interface, Web Services Interoperability, and Java EE Connector Architecture.

Advantages of Application servers

Data and code integrity By centralizing business logic on an individual server or on a small number of server machines, updates and upgrades to the application for all users can be guaranteed. There is no risk of old versions of the application accessing or manipulating data in an older, incompatible manner. Centralized configuration Changes to the application configuration, such as a move of database server, or system settings, can take place centrally. Security A central point through which service-providers can manage access to data and portions of the application itself counts as a security benefit, devolving responsibility for authentication away from the potentially insecure client layer without exposing the database layer. Performance By limiting the network traffic to performance-tier traffic the client±server model improves the performance of large applications in heavy usage environments. Total Cost of Ownership (TCO) In combination, the benefits above may result in cost savings to an organization developing enterprise applications. In practice, however, the technical challenges of writing software that conforms to that paradigm, combined with the need for software distribution to distribute client code, somewhat negate these benefits.[citation needed] Transaction Support A transaction represents a unit of activity in which many updates to resources (on the same or distributed data sources) can be made atomic (as an indivisible unit of work). End-users can benefit from a system-wide standard behavior, from reduced time to develop, and from reduced costs. As the server does a lot of the tedious code-generation, developers can focus on business logic.

Desktop Organizer software applications are applications that automatically create useful organizational structures from desktop content from heterogeneous types of content including email, files, , companies, RSS feeds, photos, and chat sessions. The organization is based on a combination of automated scanning of similar to data mining and manual tagging of content. The metadata stored in applications is correlated based on a structure for the data type handled by the organizer tool. For example the email address of a sender of an email allows the email to be filed in a for the author and company the author works for or a music file is filed by the musician and album label. The resulting visualization simplifies use of desktop content to navigate, search, and use related information stored on the desktop computer. The data in desktop organizer tools is normally stored in a database rather than the computer's in order to produce virtual folders where the same item can appear in multiple folders to the user based on its relationship to the folder. Desktop organizers are related to desktop search because both sets of tools allow users to locate desktop resources. The primary differences between the two are that desktop organizers perform post-search functionality related to the primary purpose of the organizer, offer manual taxonomy creation and tagging by the desktop user, and help gather additional related resources for taxonomy or related content from resources.

Communication Organizers Organization tools of contacts and correspondences involve the tracking and management of information stored in multiple communications tools. Due to the rise of computers for use in communications including email, VoIP applications like Skype, chat, web browsers, blogs, RSS and CRM content relating to companies and contacts is often spread across multiple applications. Desktop communications organizers collect and correlate information stored in these applications.

Common features of communications organizers include:

 Connectivity through scanners and listeners to communications tools including email, chat, bookmarks, and VoIP  RSS newsfeed subscriptions  Filing of desktop files and documents  Connectivity to desktop search or desktop search capabilities  Virtual folders to locate the same item in multiple locations  Workflow utilities to mark items for follow-up and annotate items

Picture Organizers Also referred to as image viewers, picture organizers provide utilities to file and view pictures in folders and to tag pictures with metadata for future use. Picture organizers may also integrate with photo sharing sites that also organize pictures but through a social network. There are two classes of picture organizers:

 Automatic picture organizers. These are software packages that read data present in digital pictures and use this data to automatically create an organization structure. Each digital picture contains information about the date when the picture was taken. It is this piece of information that serves as the basis for automatic picture organization. The user usually has little or no control over the automatically created organization structure. Some tools create this structure on the hard drive (physical structure), while other tools create a virtual structure (it exists only within the tool).  Manual picture organizers. This kind of software provides a direct view of the folders present on a user's hard disk. Sometimes referred to as image viewers, they only allow the user to see the pictures but do not provide any automatic organization features. They give maximum flexibility to a user and show exactly what the user has created on his hard drive. While they provide maximum flexibility, manual organizers rely on the user to have his/her own method to organize their pictures. Currently there are two main methods for organizing pictures manually: tag and folder based methods. While not mutually exclusive, these methods are different in their methodology, outcome and purpose. Presently, many commercial image organization software offer both automatic and manual picture organization features. A comparison of image viewers reveals that many freely available software packages are available that offer most of the organization features available in . However, not all image viewers offer organizational tools. Popular picture organizers include 's , Adobe Systems's Elements, Apple's iPhoto, Novell's F- spot and DigiKam. Common key organizational tools provided by picture organizers are:

 Organization by date or date range  Tagging of pictures with attributes including location, people, and  Storing the same picture in multiple virtual folders  Rating of pictures

Music Organizers

Music contains unique attributes such as artist, album, genre, era, and song title used to organize the songs. The desktop organization of music is primarily embedded into audio players and media players like , , , Mediamonkey, , Apple's iTunes and Micros oft's or . Organization is used to create , or to organize the media collection into a folder hierarchy, by specific artists, albums, or genres. Another type of the music organizers allows user to organize his media collection directly without listening of music. There are Ideal File Sorter, Automatic Music Organizer, Anti- Chaos and so forth. By connecting the audio players to of tagged music to compare a collection with a professionally organized and tagged collection of music, MP3 collections can be enhanced with metadata corrections to support the organization process when metadata is not complete in the original items.

Interactive Voice Response Interactive voice response (IVR) is a technology that allows a computer to interact with humans through the use of voice and DTMF keypad inputs. In telecommunications, IVR allows customers to interact with a company¶s database via a telephone keypad or by speech recognition, after which they can service their own inquiries by following the IVR dialogue. IVR systems can respond with prerecorded or dynamically generated audio to further direct users on how to proceed. IVR applications can be used to control almost any function where the interface can be broken down into a series of simple interactions. IVR systems deployed in the network are sized to handle large call volumes. IVR technology is also being introduced into automobile systems for hands-free operation. Current deployment in automobiles revolves around satellite navigation, audio and mobile phone systems. It has become common in industries that have recently entered the telecommunications industry to refer to an automated attendant as an IVR. The terms, however, are distinct and mean different things to traditional telecommunications professionals, whereas emerging telephony and VoIP professionals often use the term IVR as a catch-all to signify any kind of telephony menu, even a basic automated attendant. Uses Voice-Activated Dialling Voice-Activated Dialing (VAD) IVR systems are used to automate routine enquiries to switchboard or PABX (Private Automatic Branch eXchange) operators, and are used in many hospitals and large businesses to reduce the caller waiting time. An additional function is the ability to allow external callers to page staff and transfer the inbound call to the paged person. Entertainment and information Some of the largest installed IVR platforms are used for televoting on television game shows, such as Pop Idol and Big Brother, which can generate enormous call spikes. Often, the network provider will have to deploy call gapping in the PSTN to prevent network overload. Anonymous access IVR systems allow callers to obtain data relatively anonymously. Hospitals and clinics have used IVR systems to allow callers to receive anonymous access to test results. This is information that could easily be handled by a person but the IVR system is used to preserve privacy and avoid potential embarrassment of sensitive information or test results. Users are given a passcode to access their results. Clinical trials IVR systems are used by pharmaceutical companies and contract research organizations to conduct clinical trials and manage the large volumes of data generated. The caller will respond to questions in their preferred language and their responses will be logged into a database and possibly recorded at the same time to confirm authenticity. Applications include patient randomization and drug supply management. They are also used in recording patient diaries and questionnaires. Outbound calling IVR systems can be used for outbound calls, as IVR systems are more intelligent than many predictive dialer systems, and can use Call Progress Detection to recognize different line conditions as follows:

 Answer (the IVR can tell the customer who is calling and ask them to wait for an agent)  Answered by voice or answering machine (in these circumstances the IVR system can leave a message)  Fax tone (the IVR can leave a TIFF image fax message)  Divert messages (the IVR will abandon the call)  No answer Other uses Other common IVR services include:

 Mobile ² Pay-As-You-Go account funding; registration; mobile purchases, such as ring tones and logos  Banking ² balance, payments, transfers, transaction history  Retail & Entertainment ² orders, bookings, credit & debit card payments  Utilities ² meter readings  Travel ² ticket booking, flight information, check-in  Adult entertainment ² dating, chat line  Weather forecasts, water, road and ice condition

Internet Directories (Directory Services)

Directory service is the software system that stores, organizes and provides access to information in a directory. In software engineering, a directory is a map between names and values. It allows the lookup of values given a name, similar to a dictionary. As a word in a dictionary may have multiple definitions, in a directory, a name may be associated with multiple, different pieces of information. Likewise, as a word may have different parts of speech and different definitions, a name in a directory may have many different types of data. Directories may be very narrow in scope, supporting only a small set of types and data types, or they may be very broad, supporting an arbitrary or extensible set of types. In a telephone directory, the nodes are names and the data items are telephone numbers. In the DNS the nodes are domain names and the data items are IP addresses (and alias, mail server names, etc.). In a directory used by a network operating system, the nodes represent resources that are managed by the OS, including users, computers, printers and other shared resources. Many different directory services have been used since the advent of the Internet but this article focuses mainly on those that have descended from the X.500 directory service. Directory services were part of an Open Systems Interconnection (OSI) initiative to get everyone in the industry to agree to common network standards to provide multi-vendor interoperability. In the 1980s the ITU and ISO came up with a set of standards - X.500, for directory services, initially to support the requirements of inter-carrier electronic messaging and network name lookup. The Lightweight Directory Access Protocol, LDAP, is based on the directory information services of X.500, but uses the TCP/IP stack and a string encoding scheme of the X.500 protocol DAP, giving it more relevance on the Internet. There have been numerous forms of directory service implementations from different vendors. Systems developed before the advent of X.500 include:

 : (DNS), the first directory service on the Internet, which is still used everywhere today.  Hesiod: was based on DNS and used at MIT's Project Athena.  Network Information Service: (NIS), originally named Yellow Pages (YP), was ' implementation of a directory service for network environments. It served a similar role as Hesiod.  NetInfo: was developed by NeXT in the late 80s for NEXTSTEP. After being acquired by Apple, it was released as open source and used as the directory service for Mac OS X before being deprecated in favor of the LDAP-based Open Directory. Support for NetInfo was completely removed with the release of 10.5 Leopard.  Banyan VINES: was the first scalable directory services offering.  NT Domains: was developed by Microsoft to provide directory services for Windows machines prior to the release the LDAP-based Active Directory in . continues to support NT Domains, but only after relaxing the minimum authentication protocols it supports. Among the LDAP/X.500 based implementations are:

 Active Directory: Microsoft's modern directory service for Windows, originating from the X.500 directory it created for use in Exchange Server, first shipped with Windows 2000 Server and is supported by successive versions of Windows.  eDirectory: This is Novell's implementation of directory services. It supports multiple architectures including Windows, NetWare, and several flavors of Unix and has long been used for user administration, configuration management, and software management. eDirectory has evolved into a central component in a broader range of Identity management products. It was previously known as Novell Directory Services.  Red Hat Directory Server: Red Hat released a directory service, that it acquired from AOL's Security Solutions unit, as a commercial product running on top of Red Hat Enterprise Linux called Red Hat Directory Server and as the community supported 389 Directory Server project.  Open Directory: Apple's Mac OS X Server uses a directory service named Open Directory, which implements LDAP using a customized build of OpenLDAP and integrates support for both SASLand Kerberos authentication. It uses a plug-ins architecture to work with other LDAPv3 directories, including proprietary solutions like Active Directory and eDirectory.  Apache Directory Server: Apache Software Foundation offers a directory service called ApacheDS.  Oracle Internet Directory: (OID) is Oracle Corporation's directory service, which is compatible with LDAP version 3.  CA Directory: CA Directory contains pre-caching engine which can index all attributes that are used in LDAP search filters, and caching all attributes returned in search results.  Alcatel-Lucent Directory Server: CTIA 2009 - 4G Service Creation & Development Award Winner offering enhanced performance, high availability and proven efficiencies.  Sun Java System Directory Server: Sun Microsystems' current directory service offering  OpenDS: An open source directory service implementation from scratch in Java, backed bySun Microsystems.  IBM Tivoli Directory Server It is a customized build of an old release of OpenLDAP.  Siemens DirX Directory Server  Windows NT Directory Services (NTDS), later renamed Active Directory, replaces the former NT Domain system.  Critical Path Directory Server  OpenLDAP Derived from the original University of Michigan reference LDAP implementation (as are the Netscape/Red Hat/Fedora/Sun JSDS servers) but significantly evolved. It supports all current computer architectures, including Unix and Unix derivatives, Linux, Windows, z/OS, and a variety of embedded/realtime systems.  Isode Limited: High performance and high availability LDAP and X.500 servers.  UnboundID Directory Server: A commercial high-performance Directory Server product produced by the UnboundID Corporation. There are also plenty of open-source tools to create directory services, including OpenLDAP and the Kerberos protocol, and Samba software which can act as a Windows Domain Controller withKerberos and LDAP backends. Administration is done using GOsa or Samba provided SWAT.

Internet Browser A software application used to locate and display Web pages.

Internet users Year Web browsers (in millions)

1991 WorldWideWeb (Nexus) 4

1992 ViolaWWW, , MidasWWW, MacWWW (Samba) 7

1993 , , 2.0, , AMosaic 1.0 10

IBM WebExplorer, , SlipKnot 1994 21 1.0, MacWeb, IBrowse, (), Minuet

Internet Explorer 1, Netscape Navigator 1995 16-40 2.0, OmniWeb, UdiWWW, WebRouser, 2,

Arachne 1.0, .0, Netscape Navigator 3.0, 2.0, 1996 36-74 PowerBrowser 1.5, , 0.9, AWeb,

Internet Explorer 4.0, Netscape Navigator 4.0, 1997 70-119 4.0, Opera 3.0, Amaya 1.0

1998 iCab, 147-186

1999 Amaya 2.0, Mozilla M3, .0 248-279

2000 , , Opera 4, Opera 5, K-Meleon 0.2, Amaya 3.0, Amaya 361-393 4.0

2001 , 1.0, Opera 6, Amaya 5.0 513-494

2002 , Mozilla 1.0, Phoenix 0.1, 2.0, Amaya 6.0, Amaya 7.0 587-673

2003 Opera 7, 1.0, Epiphany 1.0, Amaya 8.0 719-783

2004 1.0, , OmniWeb 5.0 817-909

Safari 2.0, Netscape Browser 8.0, Opera 8, Epiphany1.8, Amaya 9.0, AOL 2005 1018-1021 Explorer1.0, 1.0, 1.0

SeaMonkey 1.0, K-Meleon 1.0, Galeon 2.0, 1.0, .0, Avant 2006 1093-1146 11, iCab 3, Opera 9, ,

Maxthon 2.0, Netscape Navigator 9, NetSurf 1.0, 1.0, Safari 2007 1319-1357 3.0,

Konqueror 4, Safari 3.1, Opera 9.5, Firefox 3, Amaya 10.0, Flock 2, Chrome 2008 1574-1586 1, Amaya 11.0

Internet Explorer 8, Chrome 2 - 3, Safari 4, Opera 10, SeaMonkey 2, Camino 2009 1802 2, Firefox 3.5

2010 Firefox 3.6, Chrome 4 - 8, Opera 10.50, Safari 5, Opera 11 2050

Chrome 9 - 12, , Maxthon 3.0, .0, SeaMonkey 2011 ? 2.1, Firefox 5, Opera 11.50