1 Introduction
On the ridge side, the distance is different. I don't know the true colors of the mountains, just because I am in this mountains.
________ Su Shi, "Question Xilin wall"
"Social development" is what people dream of. Information-based software will be like your own water pipes. when you need it, you just need to unscrew the tap and tap water will be continuously sent to your home. In the future, the software will also work like this. As long as you can access the Internet, you can access a certain address of the software service provider at any time, and the services you need can be completed online, here, you do not need to download the software and database to a local device for installation, or manually upgrade and maintain it on your own. One of the prerequisites is that you must first purchase the service by registering it. It's not just business software, but even the operating system and other such giants will be temporarily delivered to your computer through the Internet when you start the system, instead of being installed in advance.
2. What is SaaS?
2.1 Definition of SAAS
SAAS is short for software-as-a-service (software as a service). With the development of Internet technology and the maturity of application software, A completely innovative software application model that has emerged since the 21st century. It has similar meanings to on-demand software, ASP, and hosted software. It provides software through the Internet. Vendors deploy application software on their own servers. Customers can meet their actual needs, you can purchase required application software services from a vendor over the Internet, pay the vendor for the services you have ordered, and obtain the services provided by the vendor over the Internet. Instead of buying software, you can rent web-based software from your provider to manage your business activities. You do not need to maintain the software. The service providers are solely responsible for managing and maintaining the software, when providing Internet applications to customers, software vendors also provide offline software operations and local data storage so that users can use the software and services they order anytime and anywhere. For many small enterprises, SAAS is the best way to adopt advanced technologies, eliminating the need for enterprises to purchase, build and maintain infrastructure and applications. In recent years, the rise of SAAS has brought real pressure to traditional software vendors and platform software vendors. At the same time, social software development is based on SAAS, it is the inevitable outcome and advanced thought of the development of the times.
In this mode, enterprises no longer spend as much investment as traditional models for hardware, software, and personnel.
A certain amount of rental service fee is required. Through the Internet, you can enjoy the corresponding hardware, software, and maintenance services, and enjoy the right to use and constantly upgrade software. This is the most efficient operation mode for network applications. The effect of SAAS service models adopted by enterprises is basically the same as that of self-built information systems, but it saves a lot of money for purchasing it products, technologies, and maintenance operations, in addition, just like opening a tap water faucet, water can be easily used by the Information System, which greatly reduces the informationization threshold and risks of small and medium-sized enterprises.
At the same time, service providers charge a certain amount of service fees through large-scale customers, on the one hand to achieve the maximum profit of software
Usage rate, on the other hand, it also reduces frequent customer on-site implementation and maintenance costs, and more energy is invested in technical and service quality, it is better to ensure the security and confidentiality of each enterprise's data through effective technical measures.
2.2 three-layer meanings of SAAS
SAAS has three meanings:
1. Presentation Layer
SAAS is a business model, which means that users can remotely use the software by leasing, solving investment and maintenance problems. From the perspective of users, SAAS is a business model for software leasing.
2. Interface Layer
SAAS is a unified interface that allows users and other applications to remotely call software modules through standard interfaces to achieve business combination.
3. Application Implementation Layer
SAAS is a software capability. Software design must emphasize configuration capabilities and resource sharing so that a set of software can serve multiple users conveniently.
Software carriers in the SAAs model propose different requirements from system design, interface requirements to software implementation at different levels, as shown in Figure 2-1:
Figure 2-1 meaning and implementation of each layer in Saas Mode
The first requirement for SaaS software is to separate the management flow from the business flow in Saas software. The essence of operation is control. "communication capability operation" refers to the ability to switch users' communication capabilities. At the beginning of the design, the communication capability itself supports such switching. "It Application Operation ", the switch capability also needs to be supported. The application software itself tends to focus more on the implementation of business capabilities. To transform the application software into SaaS software, it is necessary to fundamentally implement external control over access permissions, that is to say, management flow and business flow should be separated. management flow is used to implement switching control over IT applications, and business flow is used to ensure the implementation of IT application functions.
SAAS software must meet the unified Remote Call requirements of users in terms of interfaces. With the development of Internet technology and distributed computing technology, more and more users want to remotely connect to data sources and applications to achieve the distribution and operation of applications across multiple servers, this is also the goal of mash up in Web2.0. SAAS software must support the adoption of a distributed SOA architecture, so that the software system has higher flexibility, adaptability and maintainability. The distributed SOA architecture uses smart endpoints to enable applications with certain service functions to automatically search for other services and communicate with each other to meet the technical and cost requirements of SAAS software based on the SOA architecture.
The SAAs model is oriented to the long tail market and requires SaaS software to have low-cost operation and personalized configuration capabilities. On the one hand, although the niche market is always attractive, if it cannot solve the problem of resource sharing among multiple users, as the number of users increases, the operating costs of SAAS software will increase linearly, And the scale effect cannot be produced; on the other hand, when customers accept the main business processes of SAAS software, they also have certain individual requirements, such as enterprise logo, page layout, and page color, this is what SaaS software needs to meet. In addition, computing capability sharing, storage capability sharing, code sharing, personalized configuration capabilities, and large-capacity support capabilities are all issues that need to be addressed in the preparation of SAAS software.
2.3 SaaS Glossary
L mash-up)
The term "Cross-border mashups" originated from pop music. The choreographer mixed two albums and made a new one.
New song. This concept is applied to SAAS, which refers to building multiple different online application software services into a new integrated service. You can use an integrated application software combination only once you log on.
It should be noted that when you mix a variety of SAAS services into a single software, one of them will be the core. If there is a serious problem, it will affect the use of the entire software.
L ctor)
The integrator is a software program that allows you to read data from an application and then download it to the SAAs solution (which can also be used to send data back to another application ). This type of data transfer is usually used for real-time or batch transfer. enterprises can import or export initial data and update the data on a regular basis as needed. For example, if Salesforce, a foreign SaaS service provider, or 800crm in China, provides an SAP [/url] integrator, the customer data in SAP is imported into the Salesforce or 800crm system.
L solution extension (solution extension [/url])
The scalability of the SAAs solution allows users to add additional tools or functions on demand in an existing software structure. As mentioned above, the Salesforce App Exchange application software development platform and the 800app app application software development platform of SAAS Solution Provider 800crm in China are typical representatives of solution expansion.
There are also some scalability such as the ability to expand the data model, provide a personalized user interface and other custom extension services.
L vertical applications)
"Vertical application" is not a term specific to SAAS. It is also applied to other fields. It generally refers to the establishment of a specialized platform for a certain field (such as banking and medicine. Although it has been applied in traditional industries for many years, it is a relatively new concept in Saas.
As SaaS continues to mature, customers want SaaS service providers to provide detailed vertical application industry solutions. For example, currently, the Salesforce App Exchange Platform can implement comprehensive cross-industry applications, and companies in various industries can perform secondary development on the Salesforce platform.
L parameter application (parametric applications)
In the traditional software model, if the service functions of the software need to be changed, the corresponding code also needs to be rewritten. However, in Saas mode, users can open a new application by entering new parameter variables or formulating data association rules. This new service model is also called "parameter application" and "macro or" custom object, mainly because this application allows users to customize new applications by themselves without understanding software programming.
When the system is upgraded using Salesforce or 800crm, custom objects are also upgraded. The most essential application is that the customer can add new functions to the system by changing the parameter and parameter Association.
L Modular)
In SaaS, the module function is mainly used to disable or enable services. In a powerful application platform with rich functions, managers can select functions as they choose from the menu, disable unnecessary functions, or add new functions as needed.
SAAS service providers have built their own application platforms based on the network] architecture. The flexibility of the modules allows them to configure a system with a wide range of functions to suit customers' needs.
L online SaaS
On the surface, "online SaaS" seems a little cumbersome. The concept of SAAS itself is to provide an online service. Therefore, all SaaS applications should come from the network and grow over the network. However, this term is relative to ASP, the predecessor of SAAS, which is an early form of remote software hosting. Users in the ASP age may feel more comfortable accessing the system through a leased line or a dedicated encryption device than systems that are currently used directly on the Internet. Obviously, some slow-running programs designed in the early ASP solution did not reflect the concept of "online". Many ASP customers need to use Citrix to implement remote access.
Therefore, when people say "online SaaS", the term is actually emphasizing the direct use of software in browsers, while encryption is a general encryption protocol in browsers.
L basic architecture platform)
Sometimes SaaS advocates want an infrastructure platform to promote better development of SAAS.
This is because there must first be a platform to support the running of SAAS software applications. Currently, the most famous is the App Exchange Platform of Salesforce, which is compatible with salesforce.
L service level agreement (SLA)
SLA (Service Level Agreement) refers to the agreement between the IT service provider and the customer regarding the key service objectives in service provision and the responsibilities of both parties and other relevant details, this Agreement focuses on the quality, priority, and responsibility of services.
For the necessity of SLA, the service provision process in the BS15000-1 has clearly pointed out: the service level goal and workload parameters in the whole process of service provision should be in the Organization (service provider and employer company) and form a record. One or more service level agreements (SLAs) shall be defined, agreed, and documented for each service ). SLAs, operational level agreements and third-party contracts (support contracts) and relevant procedures shall be negotiated and documented between the relevant organizations.
SLA is not only a contract, but also a "SLA process ". The so-called "SLA process" refers to the quality of service (QoS) promised to the customer in the SLA contract through SLA management.
3 Comparison Between SaaS and traditional software
The rise of SAAS will be a new revolution in the IT industry. The SAAs model will completely change the development and usage of traditional software. Traditional software will be broken in this wave of innovation, and most traditional software will die or transform.
3.1 differences between SaaS and traditional software
Traditional software sets up a software running environment within the company. You can purchase application servers, database servers, network cards, and other hardware, install your own LAN, and deploy software in the LAN. Therefore, different companies deploy their own systems. Users in different companies access different systems through different channels, as shown in Figure 2-2:
Figure 2-2 traditional software
This situation clearly shows a fatal problem. Software deployment is very important. The deployment of software requires not only a large amount of hardware equipment, but also affects the normal use of the software, however, the deployment fails.
Taking ERP software as an example, enterprise application software such as ERP is required. The deployment and implementation of software are more important than the functions and performance of the software. In case of deployment failure, all the investment is in vain, such risks are unavoidable by every enterprise user. Generally, the deployment cycle of ERP and CRM projects takes at least one or two years or longer, and the software project deployment in Saas mode cannot exceed 90 days, in addition, users do not need to invest in software licenses and hardware. Traditional software is restricted by space and location and must be used on fixed devices. Software Projects in Saas mode can be used anywhere and at any time connected to the Internet. Compared with traditional software, the SAAs model has great advantages in software upgrades, services, data security transmission, and other aspects. Let's take a look at the software deployment in Saas mode, as shown in Figure 2-3:
Figure 2-3 SaaS Model
Through the above analysis, we have summarized the differences between the SAAs model and the traditional software license model:
Table 2-1 differences between the SAAs model and the traditional software license Model
Comparison between the project SaaS model and the traditional software license Model
Development Method: product-based development. Software developers develop product-based projects in a popular way. Software developers target specific users and focus on project-based development
To deploy devices, you only need to use the simplest PC devices to build complex IT systems.
A professional IT maintenance team should be trained by the vendor to provide professional maintenance and services.
How to use it any place and time to access the Internet must be used on a fixed device
The version update cycle for software updates over the Internet is long.
The payment method regularly pays for the purchased service at one time to bear the risk of investment in software purchase.
The version update cycle for software updates over the Internet is long.
3.2 Impact of SAAS on traditional software
The birth of software Operation Service (SAAS) will have a huge impact on the traditional software industry. It is mainly manifested in the following three aspects:
First, the software operation service model will become one of the main models of software application and sales models in the future, and will increasingly seize the market of traditional software models. CCW Research predicts that a large number of operational (SAAS) software will emerge from 2007. By 2010, more than 50% of the traditional software will also have a software operation service model. If traditional software providers do not undergo strategic transformation, they will be at a disadvantage in the future market competition.
Second, the emergence of the software operation service model will lead to changes in the traditional software business model. Because the software operation service model implements on-demand services and pay-as-you-go models, the appeal to users is far higher than the traditional software license model. CCW Research believes that with the popularization and promotion of on-demand and pay-as-you-go software operation services, traditional software business models, especially payment models, will gradually move closer to this.
Third, the emergence of software operation services will aggravate the integration and merger of traditional software. Because software operators adopt a one-to-many service model, this will inevitably lead to a significant reduction in the number of software operators, which will also bring huge challenges to traditional software providers. CCW Research predicts that half of Traditional Chinese software providers will die or transform in 2010.
4 similarities and differences between SaaS and ASP
SaaS and ASP focus on "software deployment as hosting services and Internet access ". Where they are
Include:
L operation mode:
Software ownership belongs to the supplier, and the supplier is responsible for infrastructure and software maintenance and upgrade.
L service method:
The customer rents the service of the supplier according to a certain payment cycle, and the cost may vary with the customer's usage.
Suppliers regularly work with customers to sort out requirements so that the service can respond to customer changes.
L profit method:
Through the professional and economies of scale to reduce the cost of supplier software services, in order to achieve profitability. Additional profitability
Methods include advertising and wireless value-added.
Only when a certain scale is reached can the hardware and professional service costs and operating income invested by the supplier be equal.
Balance. After that, as the scale increases, the supplier's sales cost will not be affected at all, and the profit will start to grow.
Although SAAS is built on ASP, their root causes are the same. ASP once fell into the public
In the "cheers" voice, it's just a glimpse of the cloud. What are the new changes in Saas today? This is a matter of great interest to dtplus. SAAS is not simply a change from ASP, nor a hype. Now we will discuss the main differences between SaaS and ASP:
L asp is a one-to-one relationship, while SAAS is a one-to-many relationship.
ASP provides a one-to-one relationship for customer services, that is, to customize different applications for different customers. SAAS
Providing customer service is a one-to-many relationship, that is, the same application service for all customers.
In ASP mode, each customer runs a dedicated instance customized by the supplier. From a technical point of view
The customer uses a database, a web site, or a virtual directory. The data structure and application code in the database may have been customized and modified according to customer requirements.
L SAAS is customizable
SAAS focuses more on application customization for application systems. SaaS's custom capabilities make SaaS applications
It is suitable for a wider range of enterprise users and increases user experience, such as custom forms, custom data structures, Custom reports, custom user interfaces, and custom business processes. You can use these customizable tools to meet your individual requirements.
L different service scopes
SAAS applications expand the application scope of ASP, not only the application system hosting, but also focus on
Provide more Internet services. For example, Google Apps, Google Map, and even mail services can all be considered as a form of SaaS application. Originally, hosting has changed from a narrow application to a broad Internet application. In short, SAAS provides more Internet services that enterprises can choose from. These services are integrated through SaaS and provided to enterprise users in an intensive manner. These services are mutually beneficial to agile applications.
L different technical complexity
Traditional ASP only customizes different applications for each customer without putting all the customers together for the test.
. In the SAAs model, an intermediate layer is added between the user and the application on the Web server. This intermediate layer is used to handle user customization, scalability, and multi-user efficiency issues. Technically speaking, it is much more complicated than ASP mode.
SAAS adopts the concept of "software as a service", but SAAS is much more complicated than ASP.
The software architecture of SAAS has greatly changed, and Ajax technology is widely used. It supports partial interface refreshing to give users a better experience.
L different scalability
The code and data structure of the SAAs model are the same. suppliers have considered scalability when designing applications. Therefore, flexible configuration can be used to respond to customers with different requirements, however, application data is still isolated. From a technical point of view, all customers use a set of installation packages with the same database structure.
Below we compare the main differences between the SAAs mode and the ASP mode from the three levels of "software as a service", as shown in the table
2-2:
Table 2-2 differences between the SAAs mode and ASP mode
Comparison Project SaaS mode ASP mode
The presentation layer is application-oriented. software developers and application service providers are separated and application-oriented. software developers and application service providers are integrated.
The interface layer supports remote standard interface application-level calls and does not support remote standard interface application-level calls.
The Application Implementation Layer emphasizes reasonable resource allocation and joint use. Generally, application sharing is realized through software reuse.
5 similarities and differences between SaaS and SOA
SOA is one of the most popular words nowadays, and it is widely used in the industry. When talking about SaaS, it seems that we will all think of SOA. Some people even confuse SaaS with SOA and think SAAS is SOA.
Although SOA and SaaS have many similarities, they were once compared to the double "S" in the software circle ". They are sometimes called "Sisters", and they are really in the same mood. But sometimes they are seen as a family of enemies, and they seem to have to come together. So many hard-to-understand things are really confusing together, or let us first correctly understand what SOA is?
What is SOA?
SOA (Service-Oriented Architecture) is a service-oriented architecture model that combines different functional units of applications-services ), associate a service with a contract. Interfaces are defined in a neutral manner, independent of the hardware platform, operating system, and programming language for specific service implementation, so that services built in such a system can communicate in a unified and standard manner. SOA differs from most common client/server models in that it emphasizes loose coupling of software components and uses independent standard interfaces.
From the business point of view, SOA aims to reuse and integrate some old software systems of enterprises and build a loose coupling software system, at the same time, it is also convenient to combine new software to serve an enterprise's system. This allows the system to be more flexible and suitable as the business changes.
From a technical point of view, SOA is actually a further development of system analysis and design ideas. Its idea is beyond the concept of objects. Everything is service-oriented, and services are composed of components, A component is a collection of several operations. An operation corresponds to a specific program function. The service is identified by analyzing the business process model. Each service can implement several functions, which are implemented by components rather than operations. A component is a set of operation calls and the smallest unit of service function implementation, rather than the smallest unit of program implementation.
In terms of implementation, any technology that can provide services can implement SOA ideas, such as web service, RMI, remoting, CORBA, JMS, MQ, and even JSP and servlet, in addition, it can be further improved through distributed transaction processing and distributed software state management. However, if you want to make these services more widely used or recognized and published on the Internet, you must follow certain rules and standards. These standards include soap, Java API for XML-based RPC (JAX-RPC), WSDL, and WS-* specifications. In addition, it also needs security, policy management, reliable message transmission, and support from the accounting system.
Intuitively, we can regard SOA as a modular component. Each module implements independent functions and different combinations provide different services. Using SOA, the messy and unorganized system is normalized into one module, which facilitates the maximum it utilization and improves the degree of reuse.
Although SOA and SaaS are essentially services, their meanings are quite different.
Through the above analysis, the differences between SOA and SaaS can be summarized as follows:
L different service methods
SAAS is actually a web-based application software, while SOA is a web API,
Or web service. These two concepts are completely different. For example, an SaaS operator provides HR, CRM, and other systems on the SAAs platform. Users can rent the software online. SOA does not provide software, but interface functions, such as querying IP addresses and city-related APIs and querying weather APIs. Of course, SOA is mainly used to develop application software middleware, which can be released on the Internet. This is the trend of the Internet in the future and can also solve the copyright issue of software.
L different service objects
SOA includes things about how software is structured, while SAAS is about how software is applied. SOA is a technology that is used by software producers. SAAS is a business model that allows users to use developed software through leasing.
L different service scopes
Software in the SAAs model can be either structured using SOA or without SOA. SOA is adopted not only in Saas-based software, but also boldly applied in any Web software architecture, including a small single-user software.
L relationship between the whole and the part
In SaaS, applications can be delivered just like any service. Just like the voice of your home phone, it seems to be tailored to your needs, SAAS is an overall software system, and the definition of SOA is unrelated to this. The services supported by SOA are discrete transactions that can be used again. These transactions are combined to form a business flow, which is an abstract code extracted from the basic system, SOA is only part of a complete system framework.
L SAAS provides services while SOA provides technical support
SAAS mainly refers to a software enterprise providing software services to other enterprises. SOA is generally the basis for building a system in an enterprise. SAAS focuses on service provision. SOA focuses on implementing service thinking.
6 Summary
This article describes what SAAS is and compares the differences between SaaS and ASP and SOA. Through the introduction of SAAS, we have a deep understanding of SaaS and can distinguish asp from Saas. This laid the foundation for our in-depth research on SAAS.