TNAPS Application Server
Encyclopedia
TNAPS is a freeware
Freeware
Freeware is computer software that is available for use at no cost or for an optional fee, but usually with one or more restricted usage rights. Freeware is in contrast to commercial software, which is typically sold for profit, but might be distributed for a business or commercial purpose in the...

 .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 cross-platform application server
Application server
An application server is a software framework that provides an environment in which applications can run, no matter what the applications are or what they do...

 for .NET, Mono, and Java, with component-driven architecture. It is based on the concept of application business logic separation into middleware
Middleware
Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...

 layer. This is also called three-tier software architecture. Although, there are many application servers for Java platform, there are no cross-platfrom application servers for .NET and Mono. The main principle of TNAPS is that developer has to write business logic only and would be able to host it and set user access policy, database parameters and other configuration without writing code - just by existing component reusage.

Current version of TNAPS requires .NET 4 (Windows) and Mono 2.10.1 (Linux and Mac OSX)

Basics

TNAPS focuses on business logic implementation. Developer applies principle of decomposition
Decomposition (computer science)
Decomposition in computer science, also known as factoring, refers to the process by which a complex problem or system is broken down into parts that are easier to conceive, understand, program, and maintain.- Overview :...

 and splits server side logic into set of components (called business objects in TNAPS). The main idea behind this decomposition is to get business objects that provide some value to the end-user (the one using client application).

Developer defines business objects contracts for accessing created server functionality and implement client application using contracts.

After finishing set of business objects development they should be arranged into Bizlet - one server application instance in TNAPS. Bizlet contains business objects, database configuration, user access permissions and hosting parameters (i.e. IP address and port to listen).

Developers or end-users of the TNAPS application can decide what kind of logic provide to the respective use by granting or revoking access to particular business object.

Business objects access permissions are defined at the user group level.

Features

  • Development of three-tier applications is straightforward.
  • Developer has no problems with hosting, security, channel encryption, user access management etc.
  • Windows administrators-oriented management console (MMC
    Microsoft Management Console
    Microsoft Management Console is a component of Windows 2000 and its successors that provides system administrators and advanced users an interface for configuring and monitoring the system.- Snap-ins and consoles :...

     snap-in).
  • User can switch between database server types without rewriting code.
  • TNAPS supports all .NET languages.
  • Database access technologies - all available in .NET : ADO.NET
    ADO.NET
    ADO.NET is a set of computer software components that programmers can use to access data and data services. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems,...

    , LINQ
    LINQ
    Linq is a word-based card game from Endless Games, introduced at the American International Toy Fair in 2005.Game play requires at least four players, two of whom are dealt cards with the same word, while the others receive blanks. The goal is to gain points by correctly naming the players with...

    , EDM
  • All logic written for local TNAPS server can be migrated to cloud hosting providers like Amazon EC2 without rewriting.
  • Extensibility - almost every part of the server can be extended by user.

Management

TNAPS configuration is done within TNAPS Management Center (or Console). It is a snap-in for Microsoft Management Console
Microsoft Management Console
Microsoft Management Console is a component of Windows 2000 and its successors that provides system administrators and advanced users an interface for configuring and monitoring the system.- Snap-ins and consoles :...

.

Hosting

TNAPS uses .NET Remoting
.NET Remoting
.NET Remoting is a Microsoft application programming interface for interprocess communication released in 2002 with the 1.0 version of .NET Framework. It is one in a series of Microsoft technologies that began in 1990 with the first version of Object Linking and Embedding for 16-bit Windows...

 for network communications. That means that client application can be implemented using .NET or Mono platform only. However, developer can extend TNAPS with WCF or any other hosting technology through hosting provider extension.

TNAPS Remoting Host Provider has some advanced (comparing to standart .NET Remoting) features: Channel Encription, Traffic Signing and Traffic Compression.

TNAPS 3

On June 09, 2011 TN reported that TNAPS 3 is being in the early beta-testing process. TNAPS 3 features .NET and Mono
Mono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....

 compatibility as well as multiple operation systems support: Windows, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and Mac OSX.

New major version of TNAPS application server uses component-driven approach and application can be created by combining existing components. This concept is a further development of business object approach from TNAPS 2.

Other TNAPS 3 features include:
  • Ability to use .NET languages and Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

     in one application.
  • SOAP
    SOAP
    SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

     and REST
    Rest
    Rest may refer to:* Leisure* Human relaxation* SleepRest may also refer to:* Rest , a pause in a piece of music* Rest , the relation between two observers* Rest , a 2008 album by Gregor Samsa...

     support for communications.
  • Universal web console for server management and application development.
  • TNAPS Marketplace for applications and components.


Starting from version 3 TNAPS can not be called pure .NET Application Server as it supports Java hosting. However, TNAPS core engine runs inside .NET or Mono.

See also

Other .NET application servers:
  • Base4
    Base4
    Base4 is a Free application server for generating, sharing and re-using .Net data layers; this is intended to allow a development team to leverage existing enterprise systems and common functionality instead starting from scratch...



Application Server resources:
  • Comparison of application servers
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK