A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
Horizontal as the ridge side into the peak, the distance is different. Do not know the truth, only the edge of this mountain.
________ su shi, "The problem of the Xilin wall"
"Social development" is what people dream of things, information-based software will be like your own water pipes, when you need to twist the water faucet, tap water will be continuously sent to your home. Future software will do the same, as long as you can access the Internet, you can at any time by visiting the software service company provider's address, the business you need can be completed online, here you do not need to download the software and database to install locally, and do not let you manually upgrade and maintenance. One of the prerequisites is that you must first purchase this service by registering. Not only the business software, but even the operating system and other such behemoths in the future will be on your computer through the Internet temporarily sent to your PC rather than you installed beforehand.
2 What is SaaS
2.1 Definition of SaaS
SaaS is Software-as-a-service (software-as-a-service) abbreviation, with the development of Internet technology and the maturity of application software, and in the 21st century began to rise in a completely innovative software application model. It has a similar meaning to "On-demand software" (On-demand software), asp,hosted Software (managed software). It is a mode of providing software through the Internet, the manufacturer unifies the application software on its own server, the customer can order the required application software service through the Internet to the manufacturer according to their actual demand, and pay the vendor according to the amount and time of the service ordered. And through the Internet to obtain the services provided by the manufacturer. Users do not need to purchase software, but instead of renting web-based software to the provider to manage business activities, without the need for software maintenance, the service provider has full control and maintenance software, software vendors to provide customers with Internet applications, but also provide software offline operation and local data storage, Allows users to use their ordered software and services anytime, anywhere. For many small businesses, SaaS is the best way to adopt advanced technologies that eliminate the need for businesses to purchase, build, and maintain infrastructure and applications. In recent years, the rise of SaaS has brought real pressure to the traditional package software vendors and platform software vendors, while the development of social software is based on SaaS, which is the inevitable product and advanced thought of the Times.
In this mode, businesses are no longer spending a lot of money on hardware, software, and people like traditional models, but only
Need to spend a certain amount of rental services, through the Internet can enjoy the corresponding hardware, software and maintenance services, access to software and continuous upgrading, which is the most effective network application mode of operation. Enterprise adoption of SaaS service model in effect and enterprise self-built information system basically no difference, but save a lot of money used to buy IT products, technology and maintenance operations, and like open tap water can be used as water, convenient use of information systems, thereby greatly reducing the SME informatization threshold and risk.
At the same time, the service provider through a large number of customers to charge a certain service fees, on the one hand to achieve the maximum software
Use rate, on the other hand, also reduce frequent customer site implementation and maintenance costs, more energy into the technical and service quality, better through effective technical measures to ensure the security and confidentiality of each enterprise data.
2.2 SaaS three-tier implications
SaaS has three levels of meaning:
1. Presentation Layer
SaaS is a business model, which means that users can use the software remotely through leasing to solve investment and maintenance problems. From a user perspective, SaaS is a software-leased business model.
2. Interface Layer
SaaS is a unified interface that allows users and other applications to remotely invoke software modules through standard interfaces to achieve business portfolios.
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 easily serve multiple users.
SaaS mode software operators, from different levels of the system design, interface requirements to the software implementation of the different requirements see figure 2-1:
Figure 2-1 Meaning and realization of each layer in SaaS mode
The first requirement for SaaS software is to decouple the management flow in the SaaS software from the business flow. The essence of operation is control, "communication capability operation" is to the user can use communication ability switch, and communication capability itself at the beginning of design, support this switch; " It application operation, also need to support this switching ability, and application software itself, often more attention to the realization of business capability, application software to become SaaS software, must fundamentally achieve the use of external control, that is, to achieve the separation of management flow and business flow, Management flow is used to implement switching control for IT applications, and business flow is used to ensure the implementation of it application capabilities.
In terms of interface, SaaS software must meet the user's unified remote calling requirements. With the development of Internet and distributed computing technology, more and more users want to connect to data source and application remotely, in order to realize the distribution and operation of the application across multiple servers, which is also the target of Web2.0 (Mash up). SaaS software needs to support the adoption of a distributed SOA architecture that makes software systems more flexible, adaptable and maintainable. The distributed SOA architecture enables applications with some service capabilities to automatically find other services and communicate with each other through intelligent endpoints to meet the technical and cost requirements of the SOA-based SaaS software.
The SaaS model is geared towards the long tail market, requiring SaaS software to have low-cost operational capabilities and personalized configuration capabilities. On the one hand, although the niche market is attractive, but if the resource sharing between multi-users cannot be solved, the operating cost of SaaS software will increase linearly with the increase of the number of users, and it will not produce the scale effect; On the other hand, the customer has a certain personality requirement under the premise of accepting the main business process of SaaS software. such as corporate identity, page layout, page color, and so on, this is the SaaS software needs to meet the needs of customers. In addition, computing power sharing, storage capacity sharing, code sharing, personalization capabilities, large capacity support capabilities, and so on, are the issues that need to be addressed in the development of SaaS software.
2.3 SaaS Common terms explained
L Cross-boundary mash-up (mash-up)
The term "cross-border mash-up" originated in pop music, and the arranger made a new one after the two albums were mixed.
Song. This concept is applied to SaaS, which means that several different online application software services are built into a new type of integration services. Users typically only need to log in once to use the integrated application portfolio.
It is important to note that when you mix a variety of SaaS services into one software, one of them will be the core, and if there are serious problems, it will affect the use of the whole software.
L Integrator (Connector)
An integrator is a software program that allows you to read data from one application and then download it into a SaaS solution (again, it can be used to send data back to another application). This data transfer is typically used for real-time or bulk delivery, where the enterprise completes the initial data import or export, and then periodically updates the data as needed. For example, a foreign SaaS service provider Salesforce or a domestic 800CRM supply Sap[/url] Integrator imports customer data from SAP into Salesforce or 800CRM systems.
L Solution Extension (solution Extension[/url])
The extensibility of the SaaS solution allows users to add additional tools or functionality to the existing software structure as needed. The app Exchange application development platform for Salesforce, as mentioned earlier, and the 800CRM 800APP application development platform for SaaS custodians in the country are typical representatives of solution extensions.
There are also some extensibility features such as the ability to extend the data model, provide a personalized user interface, and more customized extension services.
L Vertical Application (Vertical applications)
"Vertical Application" is not a special term for SaaS, it is also used in other areas, usually refers to a particular area (such as banking, medicine, etc.) to establish a dedicated platform. Although it has been used in traditional industries for many years, it is a relatively new concept in SaaS applications.
As SaaS matures, customers expect SaaS providers to provide detailed vertical application industry solutions. For example, Salesforce's app Exchange platform has been able to implement a full range of cross-industry applications, and companies across industries are able to develop two of times on Salesforce's platform.
L parametric application (parametric applications)
In traditional software mode, if the service function of the software needs to change, then the corresponding code also needs to be rewritten. However, in the SaaS mode, users can open a new application by entering a new parameter variable, or by developing some data association rules. This new service model is also known as "Parametric application", "macro or" custom object, mainly because it allows users to customize the new application, do not need to understand software programming.
Salesforce or 800CRM upgrade system, custom object also upgrade at the same time, and the most essential application is that customers can change parameters and parameter association to add new functions for the system.
L Modular (Modular)
The module functionality in SaaS is primarily used to turn off or turn on services. In a powerful application platform with rich features, managers can select functions as they choose menus, turn off certain functions that are not needed, or add new functionality to their needs.
The SaaS service provider builds its own application platform based on the network architecture, and the flexibility of the module allows them to configure a complex system to fit the customer's needs.
L Online SaaS
"Online SaaS" seems a little cumbersome on the surface, and the concept of SaaS itself is to provide an online service, so all SaaS applications should be generated from the network and grow in the network. But the term is relative to the SaaS predecessor,--asp (Application Service provider), which is an early form of remote software hosting. Users of the ASP era may feel more comfortable with systems that are accessed through leased lines or dedicated encryption devices than those that are used directly online today. Obviously, the early ASP solution design of some slow-running program does not well reflect the concept of "online", many ASP customers need to borrow, Citrix and other remote access.
So when people say "online SaaS," the term actually emphasizes using the browser to use the software directly, and encryption is a universal encryption protocol through the browser.
L Infrastructure Platform (Platform)
Sometimes the advocates of SaaS want an infrastructure platform to drive SaaS to better development.
This is because the first need to have a platform to support the operation of the SaaS software application, the most famous is the foreign Salesforce company's app Exchange platform, the domestic 800CRM 800APP native platform is compatible with Salesforce.
L Service Level Agreement (SLA)
SLA (Service level agreement), an agreement between an IT service provider and a customer regarding the details of the key service objectives of the service delivery and the responsibilities of both parties, which is to state the quality, priority, and responsibility of the service.
As for the need for SLAs, it is clear from the service delivery process in bs15000-1 that the service level objectives and workload parameters for the services are provided throughout the process, and that a record should be negotiated and agreed between the Organization (service provider and employer company). You should define, contract, and record one or more service level agreements (SLAs) for each service. SLAs, operational level agreements and third party contracts (support contracts) and corresponding procedures shall be negotiated and documented between the relevant organizations.
The SLA is more than a contract, and the main aspect is the SLA process. The so-called "SLA process" refers to the quality of QoS (quality of services) that is committed to the customer in the SLA contract through the management of the SLA.
3 SaaS vs. Legacy Software
The rise of SaaS will be a new revolution in the IT industry. The SaaS model will radically change the way traditional software is developed and used. Traditional software will be shattered in this wave of innovation, and most traditional software will die or transform.
The difference between 3.1 SaaS and traditional software
Traditional software is to set up a software operating environment within the company, purchase application server, database server, network card and other hardware, install their own local area network and deploy software within the LAN. So different companies are deploying their own systems. The fact that users of different companies are accessing different systems through different channels is shown in 2-2:
Figure 2-2 Legacy Software
This situation clearly shows a fatal problem. Is the deployment of software is very important, software deployment not only to invest a large number of hardware equipment, and software deployment of good or bad directly affect the normal use of software, some software development is better, but no better deployment results or failure.
Take ERP Software as an example, need ERP such enterprise application software, software deployment and implementation than the software itself function, performance is more important, in case of deployment failure, that all investment almost all wasted, such risk is every enterprise users want to avoid. Typically, the deployment cycle for ERP and CRM projects takes at least a year or two or more, while SaaS mode software projects are deployed for no more than 90 days, and users do not have to invest in software licenses and hardware. Traditional software is limited in usage by space and place, and must be used on fixed devices, while SaaS mode software projects can be used in any place and time where Internet access is available. Compared with traditional software, the SaaS model has great advantages in software upgrading, service, data security transmission and so on. Let's take a look at the SaaS model of software deployment, as shown in 2-3:
Figure 2-3 SaaS mode
Through the above analysis we summarize the differences between the SaaS model and the traditional software licensing model:
Table 2-1 The difference between the SaaS model and the traditional software licensing model
Compare Project SaaS model traditional software licensing model
Development mode product development. Software developers for the popular product-based development project-oriented development. Software developers focus on project-based development for specific users
Device deployment needs to build complex IT systems on its own with the simplest PC devices
Service mode by the manufacturer to provide professional maintenance and service needs to develop a professional IT maintenance team
How to use any Internet-connected place and time must be used on a fixed device
Upgrade updates over the Internet at any time update the software using a version version with a longer update cycle
Pay-as-you-pay-at-once payment of the purchased software at a one-time cost
Upgrade updates over the Internet at any time update the software using a version version with a longer update cycle
The impact of 3.2 SaaS on traditional software
The birth of software operation Service (SaaS) will have a great impact on the traditional software industry. It is mainly shown in the following three areas:
First, the software Operation service model will become one of the main models of software application and sales mode in the future, and will increasingly seize the market of traditional software model. CCW Research Information (CCW) expects a large number of operational (SaaS) software to emerge from 2007 onwards. By 2010, more than 50% of the traditional software will appear in the software Operation service model. If the traditional software provider does not make a strategic transition, it will be disadvantaged in the future market competition.
Second, the emergence of the software Operation service model will lead to the change of the traditional software business model. As the software Operation service model is based on on-demand service, pay-as-you-go model, the appeal to users is much higher than the traditional software license model. CCW Research Information (CCW) believes that the business model of traditional software, especially the payment model, will gradually converge with the popularization and promotion of on-demand service and pay-as-you-pay models for software operations services.
Thirdly, the emergence of software operation services will aggravate the integration and merger of traditional software industry. As software operators adopt a "one-to-many" service model, this inevitably leads to a significant reduction in the number of software operators, which poses a huge challenge for traditional software providers. CCW Research Information (CCW) predicts that in 2010, half of China's traditional software providers will die or transition.
4 The similarities and differences between SaaS and ASP
SaaS and ASP focus on "software deployment as a managed service, accessed over the Internet". They're the same place
L Operating mode:
The software ownership belongs to the supplier, the supplier is responsible for the infrastructure and the software maintenance upgrade work.
L Service mode:
The customer rents the supplier's services according to a certain fee period, which may vary depending on the size of the customer's use.
The supplier periodically organizes the requirements with the customer to enable the service to respond to customer changes.
L Profit Mode:
achieve profitability by reducing the cost of supplier software services through specialization and economies of scale. Additional profit
The way there is advertising and wireless value-added and so on.
Only by reaching a certain scale can the hardware and professional service cost and operating income of the supplier be reached flat
Scale. After that, as the scale increases, the cost of the supplier's sales is unaffected and the profit begins to grow.
Although SaaS is built on the basis of ASP, they are the same source. ASP once fell in the public a piece
"Applause" in the sound, just ephemeral. What's new with SaaS today? This is the big plus are very concerned about, SaaS is not simple by the ASP change, nor a kind of speculation. Now let's discuss the main differences between SaaS and ASP:
L ASP is "one-to-many" relationship and SaaS is a "one to multiple" relationship
The ASP provides customer service as a "one-on" relationship, which is to customize different applications for different customers. and SaaS
Providing customer service is a one-to-many relationship, which is the same app service for all customers.
ASP mode each customer runs a unique instance of the vendor for their own customization. Technically, it's every
Customers use a database, a Web site, or a virtual directory. The data structure in the database and the code of the application may have been tailored to the needs of the customer.
L SaaS is customizable
SaaS is more focused on application customization and SaaS customization enables SaaS applications to be
For a wider range of enterprise users, many user experiences are available, such as custom forms, custom data structures, custom reports, custom user interfaces, and custom business processes. Users can use these customizable tools to meet their individual personality requirements.
L Different service range
SaaS applications extend the scope of application of ASP, not only to the hosting of application system, but also focus on
To provide more Internet services. such as Google Apps, Google Maps and even mail services, can be considered a form of SaaS applications, the original meaning of the hosting has been from narrow-sense applications to broad-based Internet applications to transform. In short, SaaS provides companies with more choice of internet services, which are integrated through SaaS, delivered intensively to enterprise users, and embraced by agile applications.
• Different levels of technical complexity
Traditional ASP is only for each customer to customize the different applications, but not all of the customers put together to test
Consider. In the SaaS model, an intermediate layer is added between the user and the application on the Web server, which is used to handle the user's customization, extensibility, and multi-user efficiency issues. Technically, it's much more complicated than ASP mode.
The SaaS-mode ASP model adheres to the concept of "software as a service", but SaaS is more complex than ASP.
The SaaS software architecture has changed greatly, and the Ajax technology is widely used to support local refresh of the interface, so that users have a better experience.
L Different Extensibility
The code and data structures of the SaaS model are the same, and the vendor has considered extensibility when designing the application, so customers with different needs can respond with a flexible configuration, but the application data is still isolated. Technically, all customers are using a set of installation packages, the database structure and the same.
Here we compare the main differences between the SaaS model and the ASP model from the "Software as a service" three levels, such as table
Table 2-2 The difference between the SaaS model and ASP mode at three levels
Compare Project SaaS mode ASP mode
Application-centric presentation layer, software developers and application service providers separated application-centric, software developers and application service providers in Unity
Interface layer supports remote standard interface application-level calls not supported for remote standard interface application-level calls
Application implementation layer emphasizes on rational allocation and common use of resources general application sharing through software reuse
5 The similarities and differences between SaaS and SOA
SOA is now one of the most popular discourse, it is widely concerned by the industry. When it comes to SaaS, everyone seems to associate SOA, and some even confuse SaaS with SOA, and think of SaaS as SOA.
SOA and SaaS, while having many similarities, were once likened to the dual "S" in the software circle. They are sometimes referred to as resentments sisters, but sometimes they are seen as a family, seemingly dubious, and obliged to come together. So many incomprehensible things are going to make people a fog, or do we just have to understand what SOA is exactly?
What is SOA?
SOA (service-oriented Architecture, service-oriented architecture) is a service-oriented architecture model that links the different functional units of an application-the service-with well-defined interfaces and contracts (contract) between services. Interfaces are defined in a neutral way, independent of the hardware platform, operating system, and programming language that implements the service, so that services built in such a system can communicate in a uniform and standard manner. The difference between SOA and most common client/server models is that it emphasizes loosely coupled software components and uses a separate standard interface.
Understanding SOA from a business perspective, it is for the enterprise's old software system reuse, to consolidate, to build a set of loosely coupled software systems, but also convenient to combine the new software together to serve a system of enterprises. Enables the system to be more flexible and adaptable as the business changes.
Understanding Soa,soa from a technical point of view is actually the further development of the system analysis design idea, its thought goes beyond the object concept, everything takes service as the core, and the service is composed of components, the component is a set of operations, and the operation corresponds to the program function of concrete implementation. Services are identified by the analysis of the business process model. Each service can implement several functions that are implemented by components rather than by operations. A component is a collection of calls to an operation and is the smallest unit of service functionality implementation, not the smallest unit of a program implementation.
In the concrete implementation, as long as the technology can provide services can realize SOA ideas, such as Web service, RMI, Remoting, CORBA, JMS, MQ, even JSP, servlet, etc. In addition, it can be further improved through distributed transaction processing and distributed software State management. But if you want to make these services more widely available, or to be recognized, and published on the Internet, then you have to follow certain rules. The criteria for this category are soap, Java API for xml-based RPC (Jax-RPCs), WSDL and WS-* specifications, and so on. In addition, it requires security, policy management, reliable messaging, and support for accounting systems.
Intuitively, SOA can be seen as a modular component, with each module implementing independent functions and different flattening to provide different services. With SOA, Mess's large, non-chapter system is structured into a single module that facilitates maximum utilization of it and improves reusability.
While the essence of SOA and SaaS is service, the connotation is vastly different.
From the above analysis, the difference between SOA and SaaS can probably be summed up as follows:
L Service in different ways
SaaS is actually a Web-based application, and SOA services are Web APIs,
or called a Web service. The two concepts are completely different. A SaaS operator, for example, provides systems such as HR,CRM on the SaaS platform. Users can rent these software in the form of online leasing. SOA is not software, but interface functions, such as querying the IP address and the city's corresponding API, query the weather API. Of course, SOA is mainly the user development of application software middleware, these middleware can be published on the Internet, this is the future trend of the Internet, but also to solve the copyright problem of software.
L Service objects are different
SOA includes things about how software is architected, and SaaS is about how software is applied. SOA is a technology that is used by software producers. SaaS is a business model that uses software that is developed to be leased to users.
• Different range of services
SaaS-mode software can be either SOA-architected or SOA-free. SOA is not only adopted in SaaS-mode software, but also boldly applied in any Web software architecture, including a small single-user software.
L Relationship of Whole and part
In SaaS, applications can be delivered like any service, like the voice of your home phone, which seems to be tailored to your needs, SaaS is a whole software system, and the definition of SOA is not the slightest connection. SOA-supported services are discrete, reusable transactions that combine to form a business process that is abstracted from a basic system, and SOA is only part of the framework that makes up a complete system.
L SaaS primarily provides services while SOA provides technical support
SaaS mainly refers to a software enterprise to provide software services to other enterprises. SOA is generally the foundation of the enterprise's internal building system. SaaS focuses on the thinking of delivering services. SOA is focused on the realization of service thinking.
This article describes what SaaS is and compares the differences between SaaS and ASP, SOA. The introduction of SaaS gives us a deeper understanding of SaaS and distinguishes between ASP and SaaS. Lay the groundwork for our in-depth research into SaaS.
Introduction to SaaS Series II: Introduction to SaaS
Start building with 50+ products and up to 12 months usage for Elastic Compute Service