TNAPS Application Server
Encyclopedia
TNAPS is a freeware
.NET
cross-platform application server
for .NET, Mono, and Java, with component-driven architecture. It is based on the concept of application business logic separation into middleware
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)
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.
.
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.
compatibility as well as multiple operation systems support: Windows, Linux
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:
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.
Application Server resources:
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 decompositionDecomposition (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 (MMCMicrosoft Management ConsoleMicrosoft 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.NETADO.NETADO.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,...
, LINQLINQLinq 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 ConsoleMicrosoft 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 MonoMono (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 JavaJava (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. - SOAPSOAPSOAP, 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 RESTRestRest 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:- Base4Base4Base4 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