Mobile value-added business platform solving instance

xiaoxiao2021-03-06  37

Author: Chen Lifeng Source: CCID Abstract J2EE provides a multi-level architecture of WEB applications, and in the traditional software (non-Web applications), how to establish a reasonable, flexible architecture, is the main purpose of this article. Based on a distributed middleware development tool - Softengine, this paper takes an example of the v-information platform for mobile communication as an example to explain the basic techniques and characteristics of the sub-components. Keywords: Middleware Middle-Ware, Distributed System Distributed System, Structural System Architecture, Mobile Internet Wireless Internet, SMS SMS, MMS MMS 1. Foreword - Three difficulties in the mobile value-added business platform If I say the end of the 20th century, it is the Internet ( Internet) Brilliant period; then in the early 21st century, it is the era of wireless Internet (Wireless Internet). Since the shadow of WAP, mobile phone SMS has quickly become new economic hotspots under its successful operational model. Hundreds of business websites almost also made a text message business and continued to emerge in new ideas. Recently, with the improvement of mobile networks and terminal equipment, multimedia technology-dominated MMS (MMS) business has also been added to the hot market. The mobile value-added business truly enters an era of "applying as the king". Understanding from the literal: WiReless Internet is a derivative of the Internet of the Internet. This is also true in nature. So many wireless interconnections, from the surface, is part of the web application, some even relying on the web. But behind the performance, the implementation technology of the two is different. The following figure shows that mobile phone users use SMS (mobile) services to access specific websites via the Internet. Just use the mobile phone through the mobile operator (China Mobile / Unicom), join the Internet, not a common computer.

Chart 1 SMS application business model

Method for establishing a SMS application: Directly docking with mobile ownership interface API, directly with mobile gateway; This is suitable for a single SMS application. If the application type increases, it is difficult to have good performance due to the relationship between architecture. Especially in the fierce competitive mobile value-added business, the new application pushes the market time (time-to-market) is key. Some people have statistics: the average survival period of SMS applications is 3 months. In other words, each application is shorter from planning to launch the market, the lower the development cost, the greater the market value of the application. Therefore, the technical difficulty of moving value-added applications is not in the implementation of the application, but the speed, and quality of the realization. It is well known that in software development, time and quality are inversely proportional. This is the first difficult point in mobile value-added applications. The second difficult point: speed. On New Year's Eve in 2001, mobile phone users have already experienced it. Although mobile operators have improved the channel of SMS through expansion. However, the pressure of flow will be transferred from the mobile gateway to the application, which puts higher requirements for the application. Moreover, the characteristics of SMS: short content, large quantity, high burst. Therefore, simply rely on the database, the file system passes the data, and does not meet the performance requirements of key applications. The third difficulty, it is easy to express as the top two problems, briefly: Many seemingly simple things to solve together, the problem will become complicated. In the fierce competitive mobile value-added business, the number, species of the application is one of the advantages of the factor. The new application is endless, the relevant content is also pursuing novelty. The content is in preparing, and more in cooperation, and even applications. While solving the application, you should also solve the services provided for different operators. Although there are only two major mobile operators of mobile (CMCC) and Unicom (UNICOM), but for some reasons, application providers need to provide applications with local operators in different regions, and inevitably need to contact different operators. Into. How to effectively manage: applications, content, gateway access, and billing, statistics, analysis and many other background work, is what the value-added application platform needs to be considered. Although the equipment can be alleviated to some extent by increasing the maintenance personnel, these problems can be alleviated. However, as the business increases, maintenance costs will increasing; with time continuation, the renewal cost of the equipment cannot be ignored. It also needs to consider the negative impact of unproductive factors such as personnel change and equipment failure. Fundamentally solve the problem, a stable, effective operating system is indispensable. It can reduce maintenance, manage pressure, improve the accuracy of business operation, and make applications become real "simple". Constructing such a system, we need to start from the structural system. 2. Application Platform Foundation-Softengine's structural architecture system (Architecture), will appear multiple times in full text. Because it is the soul of the software system. What structure system determines which advantages, which disadvantages, and performance. Before building the system platform, we'd better understand it, its base Softengine - distributed architecture. In one name: << Object-oriented distributed development system - theoretical articles >> have more detailed introductions. Or check the website: www.snapbug.net, get more information, and download the relevant software. 3. The design of the mobile value-added business system is based on SMS and MMS as the main business model, and analyzes and designs mobile value-added services. 3.1 SMS, the business process of MMS is in the foreword, and the business model of SMS has been described. On this basis, let's take a look at the process of business, see the figure below: Figure 2

Very similar web application, SMS app is made by the user's uplink SMS (MO) to the application, and the return result is called: Downlink SMS (MT). The difference is that the application can initiate downward information without uplink, and the user is passively received. Operators' gateways include: Mobile Gateway (ISMG) and Unicom Gateway (SMG), which are connected to the application provider (SP) in CMPP or SGIP protocol, respectively. MMS is more complicated than SMS, and the physical carrier layer has also changed, but operators have been packaged well, so their business processes are also similar to SP: operators provide MMS Central (MMSC) as a gateway, pass through MM7 protocol and SP communication. 3.2 Problems Need to consider Before designing application platform specifications, we also need to make a business process, pre-considerate a few questions: 1. The platform needs to be connected with different gateways, and there are also version upgrades. Therefore, the interface module of the gateway is componentized and can be dynamically loaded as needed. 2. There is a pair of relationships between the application module and the interface module. It is impossible to customize different applications for different gateway / protocols. Therefore, it must be irrelevant between the application and the interface, namely: the application does not need to understand the properties of the interface, the same. 3. The number of applications, the species is changeable. Therefore, the application module is also a componentized, and can be mounted or detached according to certain rules. At the same time, applications may also be provided by the partner, so the external interface applied to the application is also required. 4. Simultaneous Downing Information can route to the specified gateway according to different rules. The uplink information also needs to route to the specified application. These actions should not be borne by an interface or gateway. 5. Different gateways and applications need to be charged, statistics, log management, respectively. To meet the bills of operations with the operators, it is clearly provided with the copies of the application. The above list is only the core problem. On the basis of fully understanding, we need to borrow Softengine's architecture and design philosophy and to draw mature solutions. At the same time, the architecture of the platform has gradually been solved with the problem, slowly clear. 3.3 Structure System of Mobile App Platments First, let's take a look at how the platform works and serve. As shown below:

Chart 3 MAP-Mobile Application Platform

Mobile Application Platform (Between Mobile Application Platform, the following is a platform), the main use role is only two: ● Subscriber, is a large group of audiences. A variety of applications provided by various mobile devices use the platform. WWW services are assisted as auxiliary tool, which is convenient for registered users to subscribe, on demand and understand more application information. ● Management maintenance personnel (Administrator). The platform requires daily management and maintenance, except for the except for special communication methods, WWW services is essential, practical means. The managers here include: system configuration personnel, application configuration personnel, content management, content publishing editing (internal / external), customer service staff, billing statisticians. Most people can pass, WWW services to complete their tasks. Therefore, the platform is subject to the mobile application system (MAS), and the WWW service is the various data required for the auxiliary tool, the data inventory platform. ● Mobile Application System (MAS). Almost all mobile applications are completed by MAS. MAS is completely based on the distributed development system of Softengine, inherits all features of Softengine, including: componentization, data security, and internal components can be processed according to distribution of load pressure. At the same time, the Web method provided by Softengine is used to interface - WebPostTaskserve implementation with the combination of WWW applications, such as online charging applications. It also provides a convenient interface for the application of third-party collaborators. The most important interface of the MAS is a connection to the different mobile operator gateway, which is defined as a gateway adapter (Adapter For Gateway). ● WWW service. In addition to providing accessibility for registered users, you can also provide management tools for system personnel. The functions included see the description of the above two roles. ● Database. MAS runs, you can no need to assist in the database. However, in order to manage system management, we have added a database. The data stored includes: system configuration data, application configuration information, registered user information, application content, etc. From the above figure, it can be seen that in three components of the mobile application platform, MAS is the key in the structure. Its characteristics are determined, and the platform is excellent. Ordinary design is difficult to handle the three difficulties mentioned in this article. Only fundamentally, using the distributed architecture introduced by the previous chapter to solve. All we will focus on the internal structure of MAS. 3.4 Mobile Application System MAS Design in the "Application Platform Basics of Softengine" above, we have had a preliminary understanding of the distributed system. Mas is based on Softengine, inherits all architectural features, distributed architectural features, so in the design work of MAS, there is no need to consider excessive infrastructure. After fully understanding the problem of mobile services and concerns, we can design the MAS workflow in accordance with Softengine's development process, then define the Object Component required to complete the work. Due to the limitations of the space, first describe the components structure of the MAS, then focus on one of the main workflows. Experience the fun of component design. 3.4.1mas Component Structure Figure First First, look at what is defined MAS, as shown below: Figure 4 MAS Component Map

MAS contains many objects and components, but these objects can be divided into five categories: adapter components connected to mobile gateways; responsible for converting information conversion components of different protocols; containing all applications; log records, tariffs Statistical charging components; and communication components that can be used as the WWW application, and the external partner interface. In this way, the structure of MAS is relatively simple, and the following classification is described. 3.4.2 Gateway Adapter Gateway Adapters Gateway Adapter Mainly implemented a communication protocol primarily by Softengine Communication Serve Class. In view of the actual situation, MAS will connect to different mobile operators, so in the gateway adapter assembly, there is a need to include communication components that support different protocols, which can be divided into a variety of access portals (portal): ● Support China Mobile CMPP SMS portal (CMPP portal). ● Supports SGIP Protals for Unicom SGIP protocols. ● Supports MMS Portal (MMS Portal) for China Mobile MM7 protocol. ● Other unknown types, such as: In the future, Unicom MMS can be added. In each portal, it will also involve access points in different regions. Take China Mobile SMS Portal (CMPP Portal) as an example (assuming the protocol version unique): In order to access multiple CMPP gateways (ISMG), need Put the CMPPServe Class, through the configuration, instantiate three objects CMPPSERVETOBEIJING, CMPPSERVETOJIANGSHU, CMPPSERVETOCIANGSHU, CMPPSERVETOSICHU, and connect with Beijing, Jiangsu, Sichuan. In order to distinguish between different regional text messages, you need to add route objects OutgoingRouter and IncomingRouter to process MT / MO messages in the component. Thus, by instantification of new CMPPServer, the route configuration of the information can be adjusted, and the new access point can be added to a short time. Adjustment operation, just as a connected or deleted a network card on a PC, there is no impact on other components in the system. Unicom SMS Access Portal (SGIP Portal), as long as the communication service class is SGIPserve, others are the same as the mobile portal. Although the MMS access portal has a big difference with SMS on the interface protocol, the main structure has not changed. However, since the content of the information is not as short as SMS, it is typically between 10k-50K, so multimedia content is only read from the file system or web mode before sending, and then transmits the corresponding communication object. Go to the mobile gateway. 3.4.3 Information Conversion Message Transfer between the objects within the gateway adapter component, the transferred task is related to the specific communication protocol. It doesn't care about the content sent. In order to do use and communication protocol, there is a key protocol conversion function between the application and gateway adapter, which is defined within the MAS: Message Transfer. From the figure, you can see that the left side of the Transfer is a gateway adapter component, and the right side is the application component group. In the application component, only information related to the application is included in the communication protocol, and other information needs to be translated by Transfer objects. So the MAS SMS Information Conversion Object SMSTRANSFERFUNC acts as the function of mutual conversion between communication protocol tasks and application tasks. The role of information conversion will be specifically described in subsequent SMS workflow examples.

3.4.4 Application Group Application Group Application group is the most active part in MAS, can be divided into: customized type: Customized type: After customizing a service, users will accept information issued by the system. ● On-demand type: No need to customize in advance. Send the specified command content to the service provider to get a specific content. From the content: ● News Type: Change content at a fixed time. Generally, physical content, such as weather forecast, news, etc. ● Consultation type: Information is not too powerful, such as humorous jokes, life guidelines, etc. ● Interaction type: user and user, user and system dynamic interaction content. Such as: game class, chat, etc. The above classification can also be combined with each other, form a rich, polymorphic application. In the initial period of constructing MAS, we can first achieve several conventional applications, such as: news and consulting types custom and on-demand services. In the future business development, you can add new content in a very short time. But more applications need to be tailored. Even so, Softengine's functional objects can maximize the reproducibility of code and shorten the development cycle of the application. It involves the development details of Softengine, not much introduction here. It also needs to be considered in the application: how to cooperate with third parties in application content. There are two ways to cooperate: 1.MAS as an application platform, third-party providing content 2.MAS as a communication path, third party provides the first way, if cooperation belongs to a regular application, can be directly configured, for third-party open content management Permissions can be opened; if it is a special application, it is necessary to develop new applications in MAS. Second, for MAS, it is easier to implement. First, use Softengine's external interface WebPostTaskserve to pass the task with an HTTP protocol to the outside, or accept external tasks. In order not to affect the coordination of components within the MAS, special objects need to be prepared in advance in advance: extrappshellfunc, the most external application group, some class is the feelings of virtual objects in Softengine. 3.4.5 Billing System Billing System In MAS, all communication-related operations need to leave logs as a future analysis and billing. MAS log has two categories: communication log, application log. The former calculates the billing information of the mobile operator's accounting through the billing core component; the latter can count the charging information of each application, as well as a detailed record of third-party partners. This plays a relatively critical role in MAS operations. Log information requires timely write files or databases, and challenges the efficiency of real-time systems. With distributed technology, it can be solved well. 3.4.6 SMS Workflow Mas works together by a predefined workflow (Work Flow). The workflow design is the most important part of Softengine development. Now use the core process of SMS as an example. Chart 5 Work Flow

The above figure shows the workflow of the SMS joke on demand: ● On-demand Mo information sent by the user, receive and form a CMPP task (CMPPPPPMOTASK) through the service object. ● CMPPMOTASK passes the route object IncomingRouter to the information conversion object (SMSTRANSFERFUNC). ● According to the configuration, SMSTRANSFERFUNC converts CMPPMOTASK to AppMotask, and passes to joke App AppJokefunc. ● AppJokefunc After the task is processed, return the results task (AppMttask). ● AppMTSK is converted to CMPPMTTSK by smstansferfunc, passed to CMPPServetobeijing via downlink, and is sent to mobile gateway. In the above flow, CMPPSERVETOBEIJING and SMSTRANSFERFUNC are the split points of the information different phases, so you need a record log. The former record communication log, the latter record application log. The time of the record is not completed in the split point, but is accomplished by the discipline design mode mentioned above, the proprietary log record object of the billing system is completed. The log operation of the boundary point is just the resulting log information to the log object in a task. In this way, avoiding the core workflow contains time-consuming operations to maintain high-speed operation efficiency. 4. Solving the problem of the problem 4.1mas's rapid application development advantage Since Mas uses MessageTransfer as a conversion component of information, the interference brought by a variety of different communication protocols is blocked by the application components. During the development of the component, there is no need to consider how to support China Mobile and China Unicom. As long as the specification can be implemented: the same application component, the mobile phone user service for mobile and Unicom. Reduced half of the development workload. Second, most of the application development can adopt object-oriented technology mentioned above, focus on business logic. Moreover, due to the package of complex operations, it is made to develop under a natural specification, and the development is reduced. Even the programmer just contacting the mobile service, can be completed independently in the case of a record of the previous person. For some applications with complex business logic, the components are divided into multiple relatively independent components through component-chemical design, which is easy to develop. As long as each programmer in the team, ensure that the functionality, stability of the relevant components, the transfer of task information, reducing the coordination of the team development, improves the accuracy of the interface, and breaks the overall test time. These features make MAS on application development, which can always hold the opportunity at time. 4.2 The speed advantage of the information processing is above, and you can see the optimization of the workflow to improve the response ability of the information. Take the response time of SMS as an example: the response time of the user sends SMS requests, within 4 to 10 seconds, and the packet loss rate must be less than 99% (excluding the impact of mobile operators). Using Softengine original task driver, data security mechanism, it can easily meet the above parameters, especially during the peak of SMS. Take the main information transfer workflow of Figure 5 as an example: Chart 5 Black line showing the key processing flow of SMS joke on demand. The entire process does not involve any operation of any database and file system, and all information is transmitted by Softengine. According to statistics, the system processing time of the up and down is between 2 ms. At the same time, in order to billing statistics, the task is sent to the log record component (the red line label in the figure) during the high speed processing. Although the log assembly has a slowed file write operation, it has been divided into key processing processes, there is no impact on the processing performance of the information.

转载请注明原文地址:https://www.9cbs.com/read-62500.html

New Post(0)