A Middleware:
1. Understanding Middleware:
Middleware (English: middleware) is the software that provides the connection between the system software and the application software, so that the communication between the software components, especially the centralized logic of application software for the system software, is widely used in modern information technology application framework such as Web service, service oriented architecture, etc.
IDC's definition of middleware shows that middleware is a kind of software, not a software, middleware is not only interconnection, but also the interoperability between applications, middleware is based on distributed processing software, the most prominent feature is its network communication function.
The interoperability provided by this technology drives the evolution of a consistent distributed architecture, which is often used to support and simplify complex distributed applications, including Web servers, transaction monitors, and Message Queuing software.
Middleware should have some of the following features:
① meet the needs of a large number of applications;
② runs on a variety of hardware and OS platforms;
③ supports distributed computing, providing the interaction of applications or services that are transparent across network, hardware, and OS platforms;
④ support the standard protocol;
The ⑤ supports standard interfaces.
2. Advantages and disadvantages of middleware:
Advantage:
Middleware provides a program interface to define a relatively stable high-level application environment, regardless of the underlying computer hardware and system software how to update, as long as the middleware upgrade updates, and keep the middleware external interface definition is unchanged, application software almost no need any modification, Thus protecting the enterprise in the application software development and maintenance of the significant investment.
Disadvantages:
Most popular middleware services use exclusive APIs and proprietary protocols that allow applications to be built into a single manufacturer's products, and implementations from different manufacturers are difficult to interoperate. Some middleware services only provide some platform implementations, which limits the porting of applications across heterogeneous systems. Application developers are also taking considerable risks in building their own applications on top of these middleware services, and they often need to rewrite their systems as technology progresses.
3. Technical Status:
1, from the computing environment, the middleware is faced with a complex, constantly changing computing environment, requires the middleware technology has sufficient flexibility and scalability;
2, from the point of view of resource management: the operating system and database management system is limited resources, resource types are limited, resources are limited, and the middleware needs to manage the resource type (data, services, applications) richer, and the boundary of resource expansion is divergent;
3, from the application support point of view: middleware needs to provide distributed application development, integration, deployment and operation of the overall life cycle of the management model;
4, from the application point of view: the use of middleware is often a complex, large-scale enterprise-wide application, its relationship is complex, process intertwined. For example, customer relationship management systems need to integrate multiple enterprise internal applications, while supply chain management involves application integration between enterprises.
Therefore, because of the complexity of network application, especially the characteristics of distribution, heterogeneity and autonomy, the morphological diversity of middleware technology and products is decided. Middleware technology has evolved into a rich pedigree (Figure 1) and is expanding in two directions (application framework and pervasive services) and downward (fusing operating systems, database management systems), and extending to a wider range of applications.
Middleware Classification (IDC classification): Can be broadly divided into six categories: terminal emulation/Screen conversion middleware, data access middleware, remote process call middleware, message middleware, transaction middleware, object middleware.
4. Direction of demand development:
Sustainable growth
The internet is borderless and middleware must support the growth and metabolism of network applications built over the Internet, maintaining a relatively stable application view
Adaptability
Applications need to evolve as the environment and application requirements change, and as an enterprise computing infrastructure, middleware needs to perceive, adapt to change, and provide support for the following environments:
Supports distributed applications in mobile and wireless environments, adapting to diverse device features and changing network environments
Supports streaming media applications to adapt to changing access traffic and bandwidth constraints
Hardware and software constraints for distributed applications with strong QoS in Dre (distributed real-time enbeded) environment
Adaptable to future applications that are not yet determined
Manageability
Domain problems are becoming more and more complex, it application systems are becoming larger, their own management and maintenance is becoming more and more complex, middleware must have self-management capability and simplify system management cost.
Support autonomous reconfiguration of complex application systems in the face of new application goals and changing environments
Support Self-diagnosis and recovery of complex application Systems
Support autonomous optimization of complex application Systems
Support for autonomous protection of complex application systems
High Availability
Provide secure, trusted information services
Supports large-scale concurrent client access
Provides more than 99.99% system availability
Provide secure, trusted information services
Tips:
See Baidu Encyclopedia, Middleware _360 Encyclopedia http://baike.so.com/doc/2154861-2280034.html
Two: Service-side software:
APACHE-HTTPD, Microsoft IIS, Nginx, Google-web-server, Tomcat
Three: Client software:
Firefox browser, Google Chrome, IE, Apple browser (Safari)
Web services middleware software and server and client software in Linux