This section of the web-site explains the functionality of ’1C:Enterprise 8.2 Managed Application’ framework version.
1C:Enterprise framework version 8.0 was introduced in Spring 2004. This version was an evolution from version 7.7 which implemented the ‘best practices’ and experience accumulated by 1C Company through 13 years of business software development.
This new framework is based on an innovative ’platform-based’ approach to development, customization, support and use of business applications.
In 2006 1C Company released a new milestone version of the framework — 1C:Enterprise 8.1 which took advantage of new technology developments to meet customer expectation and demand.
This version implemented: significantly improved scalability (server cluster support, the capability to run on Windows or Linux systems, new database support added — PostgreSQL® and IBM DB2®, etc), brand new capabilities for information analysis and search; enhanced system administration tools and more. However, the new version did not have significant differences in user operation with the application, and therefore did not require additional user training.
In 2009 the latest version of the framework was released — ’1C:Enterprise 8.2 Managed Application’.
’Managed Application’ represents a fundamental improvement to 1C:Enterprise 8 architecture and the most significant since its first release in 2004. It inherits all the well-proven approaches from previous versions for creation and execution of business applications, It introduces new significant advantages, such as: new user operation interface; new levels of scalability, reliability and performance.
General Description of 1C:Enterprise 8 Framework Architecture
1C:Enterprise 8 framework has a range of means, tools and mechanisms defining a concept for quick creation of applied solutions — data structure creation, form designing, programming business logic, creation of interactive reports, etc. The mechanisms in the framework provide correlation between technological capabilities of the platform AND the business scheme of development of applied solutions. So that there are neither extra (’just-in-case’, unused) technologies, nor ’needed but absent’ ones. And implemented technologies suffice for creation of applications for all business tasks for which they are targeted.
They do limit (and quite deliberately) a developer’s freedom in the way he creates a solution, however they protect him from designing and development mistakes and helps to get an operable solution within a quite short period of time, that can be later developed and maintained by this or other developers, if necessary.
The key point of the framework is that the developer is isolated from the platform technology to implement rapid application development (RAD). The RAD methodology of the framework allows the Developer to create the business application, including the application business logic. For example, when a developer creates a business application using standard development languages (such as Delphi, or C++), he must take into account the database type with which it interacts, take care of what tables must be created, with what fields in them, of which types and how they should be linked with each other, which fields should be indexed, how often, etc., etc. In the case of creating a business application in 1C:Enterprise 8 framework, he just needs to understand what business entity he wants (a document, such as invoice, or a catalogue, such as a list of customers, etc.) and add the entity into the applied solution. The framework automatically creates all relevant tables, types, references, dialog forms, etc. Algorithmic programming is used for business logic only.
The 1C:Enterprise 8 framework consists of the following basic elements (see picture below):
The framework core including an execution environment and a set of basic functions and business objects.
Embedded libraries of problem-oriented objects.
Application development tools.
The capability for on-going development and updating of applied solutions.
General 1C:Enterprise 8 architecture
This architecture provides the following unique characteristics:
RAD capability together with quick modifications.
Maximum standardization of the design model and the business logic of applied solutions.
Isolation of application developers from technological details.
Openness — final applied solutions are not a ‘black box’, they can be understood by end-users and other developers.
The capability for on-site adaptation of applied solutions.
Algorithmic programming of business logic only.
Scalability of applied solutions.
The capability for on-going development and updating of applied solutions.
1C:Enterprise 8 — ’Framework’ or ’Platform’?
1C:Enterprise — is a system of programs including a platform and a set of applied solutions built on this platform that provide for a wide range of business scenarios and enterprise sizes.
There are two main terms that 1C Company uses for 1C:Enterprise 8: ’platform’ and ’framework’.
1C treats ’framework’ as a more general term, meaning both 1C:Enterprise runtime and development (’Designer’) mode, also including some external libraries.
’Platform’ is used for 1C:Enterprise working in ’Enterprise’ mode. It is also used if one needs to demonstrate that the platform includes also a business-platform for business process automation, duplication of ready solutions, maintenance and support, etc. While ’framework’ means only technological issues, not business process automation, for example.
This split of terms is not strict. In general, reading documentation on 1C:Enterprise 8 one can meet both terms used side by side.
The platform is primarily the framework where a business application functions. In addition, the platform contains some development tools for all the development, distribution, administration and support of business applications.
A business application is an independent entity but it is entirely based on the platform technology.
’Applied Solutions’, ’Business Applications’ and ’Configurations’
’Configuration’ — is what that is created during development stage on 1C:Enterprise 8 framework.
You cannot call it a module — since a configuration may consist of different modules and subsystems.
You cannot call it executable code — since it is more than code, it contains metadata objects’ description. In fact, all metadata objects are metadata objects’ templates that are configured in a special way by a developer to describe specific business-object types. One set of configured objects, including some business logic code is called a ’configuration’.
The development process is also called ’designing’, and the tool that is used for that — ’Designer’.
As a rule, these terms are used in terms of the framework as a development environment.
When a configuration becomes a final product, it becomes an ’applied solution’. That is a product that can be considered separately from the framework: it can be marketed, sold, supported, etc. independently from the framework. (However an applied solution cannot ’live’ on its own — it can operate only being executed on the framework. Just like a CD requires a CD player to be played back.)
Both ’configuration’ and ’applied solution’ terms mean the same part of 1C:Enterprise 8 system that operates under the control of the framework and is visible to users. Which particular term is used depends on the context.
If we talk about developer’s actions then the ’configuration’ term is used, since it is an exact 1C:Enterprise 8 term.
While ’applied solution’ term is more generally accepted and therefore understandable by users.
An ’applied solution’ and the framework together make a ’business application’. For example, there is 1C:Accounting 8 business application that includes ’Enterprise Accounting’ configuration (or ’applied solution’, since it is a final, ready to use product).
’Database’, ’Information Base’ and Configurations
The ’Database’ term is too limited for 1C:Enterprise 8 concept. Therefore 1C:Enterprise 8 operates with ’information base’ term.
Information base contains a database (which contains, in its turn, user data) but an information base also contains:
A database configuration — the configuration with which users work.
A base configuration — editable configuration with which developers work.
One or more vendor configurations. This configuration contains previous states of a distributed configuration. If there are several vendors for a configuration (for example, if each of them supports only his part) then there will be several such configurations in an information base.
There also can be an external configuration repository, used for team development.