Differences between architectures, components, components, frameworks, and middleware [Abstract]

Source: Internet
Author: User

What is middleware?
A definition provided by IDC: middleware is an independent system software or service program. Distributed Application Software shares resources between different technologies with the help of this software, middleware is located on top of the operating system of the client server to manage computing resources and network communication.
From these definitions, we can see that:
· Middleware is a type of software, not a type of software;
· Middleware not only achieves interconnection, but also achieves interoperability between applications;
· Middleware is a distributed processing-based software. Its network communication function is the most prominent feature.
What is Web Services?
Web Services is a modular application that can be described, published, located, and called through the Web. Web services can execute any function, from simple requests to complex business processes. Once a Web Service is deployed, other applications or web services can discover and call the deployed service.
Web services are called through Simple Object Access Protocol (SOAP. Soap is a lightweight message protocol that allows any type of objects written in any language to communicate with each other on any platform. Soap messages are encoded using an extensible markup language (XML) and are generally transmitted over HTTP. Unlike other distributed computing technologies, Web services are loosely coupled and can dynamically locate and interact with other components that provide services on the Internet.
Web Services uses XML messages such as soap messages and calls them through a well-defined message exchange mode. By describing the data required to call a service, the Web Services Description Language (WSDL) document defines the message exchange mode.
Components
In short, components are objects. C ++ builder is called components, Delphi is called components, and Visual Basic is called controls.
Components are simple encapsulation of data and methods. In C ++ builder, a component is a specific object derived from tcomponent. A component can have its own attributes and methods. Attribute is a simple visitor to component data. Methods are simple and visible functions of components.
Components are the most exciting part in the C ++ Builder environment. You can use components to implement drag-and-drop programming, fast attribute processing, and real object-oriented design. The VCL and clx components are the core of the C ++ builder system.
1. Component Application
When ready-made components are used to develop applications, components work in two modes: Design and run tenses.
In the design time, the component is displayed in a form in the C ++ builder form editor. The method of the component in the design temporal cannot be called, and the component cannot directly interact with the end user, nor need to implement all functions of the component.
In the running state, the component works in an application that is indeed running. A component must correctly represent itself. It must process method calls and effectively work collaboratively with other components.
All components in the design temporal are visible in the form, but not necessarily in the running temporal. For example, tTable, tquery, and tdataset are invisible in the running time, but they all complete important functions.
2. component creation
Creating a component is a self-designed component.
Designing components is a heavy task. There are great differences between self-developed components and visual program development using components. Programmers are required to be familiar with the original VCL class library structure and be proficient in object-oriented programming.
Designing components is a tough task. For component developers, components are pure code. Component development is not a visual development process, but a rigorous compilation of code using C ++ or Object Pascal. In fact, creating new components brings us back to the era of traditional development tools. Although this is a complex process, it is also a permanent process.
The biggest significance of creating a component is to encapsulate repetitive work, followed by expanding the functions of the existing component.
The component creation process includes design, development, debugging (that is, the so-called 3D's), and then the use of components.
Component developers should master three main contents: attributes, events, and methods.
Pattern. It is actually a methodology for solving a certain type of problems. You sum up the methods for solving a certain type of problems to the theoretical level, that is, the mode.
Alexander's classic definition is that each mode describes a problem that is constantly emerging in our environment, and then describes the core of the solution to the problem. In this way, you can use existing solutions countless times without repeating the same work.
The mode has different fields, the construction field has the construction mode, and the software design field also has the design mode. When a domain gradually matures, many models will naturally emerge.
What is a framework?
Framework. In fact, it is a semi-finished product of an application, that is, a group of parts for you to choose to complete your own system. Simply put, you can use a stage set up by others to perform performances. In addition, the framework is generally mature and constantly upgraded software.
A component is a reusable software component that can be used to construct other software. It can be encapsulated object classes, class trees, some functional modules, framwork, software architecture (or architecture ‑tural), documents, analysis, and design Pattern. Components are divided into component classes and component instances. By providing component class parameters, instances are generated and corresponding application software is constructed through instance assembly and control, this not only greatly improves the development efficiency of software developers, but also greatly improves the quality of software.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.