I haven't come up with a proper title for a long time. This question seems to be a bit "title party", but it is also what I want to express: SCA is not a technical problem, just as a netizen posted a message to me, SCA has no technical knowledge! Yes. SCA is a service-oriented component model that provides service componentization. The goal is to create a new layer to separate applications from middleware in the business logic of the IT infrastructure.
The following describes what SOA/SCA is and what SOA/SCA is:
1. A central idea of SOA is to free enterprise applications from the limitations of technology-oriented solutions and easily cope with the changing and developing needs of enterprise business services. SOA is service-oriented and solves problems in the business field, rather than in the technical field.
2. SCA is a standard for SOA implementation, not a technical framework.
3. SCA aims to create a new layer to separate applications from middleware in the business logic of IT infrastructure.
I. Question domain of SOA-a new solution to SOA
SOA (Service-Oriented Architecture) is widely translated into "service-oriented architecture" or a service-oriented architecture. SOA includes three meanings: orientation, service, and architecture (Architecture ). The orientation is targeted or focused on a specific aspect, which does not produce ambiguity. So what is a service? What is architecture?
1) Service: Services in the "service-oriented architecture" are used to modify the architecture, which limits the scope of the architecture and determines the architecture form. Service is the core term in the service-oriented architecture. "service" is widely used. If we have different understandings of different people, what service is "S" in SOA "?
Imagine the following scenarios:
L in the hotel: the waiter provides customers with ordering and serving services, while the cook provides customers with food cooking services. The bartender provides customers with alcohol modulation services, and the singer provides customers with entertainment services. These services are the catering, entertainment, and leisure services provided by the hotel to customers.
L in the Bank: The guide provides the wizard service for the customer, and the cashier and cashier provide the deposit and withdrawal service for the customer. ATM devices provide customers with services such as querying bills, printing bills, and purchasing recharge cards. These are financial services provided by banks to customers.
In the above scenario, hotels and banks all take enterprises as the subjects of commercial services and provide services within the industry to service customers.
Software Enterprises in the IT industry also provide enterprise-oriented services to customers (service targets. The service types provided by enterprises vary in the industry chain. According to these different types of services, enterprises can be roughly divided into software service providers and software developers.
Software developers provide available software products for end users and software service providers. Software service providers use these software products to provide users with solutions in the business field.WhileSOAIt is an enterprise-level architecture used by software enterprises to provide external services. SOAThe main goal is to achieve service componentization, improve the reuse capability of componentized services, and effectively manage and reuse enterprise services and data. In SOAThe organization goals and directions are unified in the process to achieve the same methods and objectives.
2) architecture (Architecture): the highest level from the whole to the part. Architecture is a set of system building principles. Through this set of rules, a complex system can be divided into a set of simpler subsystems. These subsystems should be mutually independent and consistent with the entire system. In addition, each subsystem can be further subdivided to form a complex enterprise-level architecture. At the same time, this architecture is business-oriented, that is, the business services that enterprises provide to the target business field. For example, if ERP vendors provide ERP products and services for the petrochemical industry, the services they provide are for the petrochemical industry; if they are for the telecom industry, the service is provided in the telecom field. This architecture provides a model for the same ERP vendor to provide different services in different fields. With the service-oriented characteristics of SOA, You can accurately define and clearly describe services, and clarify business boundaries and responsibilities. Enables High Cohesion and low coupling of business components to achieve high-granularity reuse at the business level.
SOA solves several problems by reusing existing business component logic:
1) inflexible business: enterprises cannot rely on the IT infrastructure to quickly meet changes in business needs and lack the ability to effectively respond to changes in market demands;
2) low development efficiency: the same businesses are repeatedly developed; existing resources of the enterprise cannot be used in similar businesses; the system design level is low, and the code level can only be reused. These results in high software development costs and investment cannot be recovered.
2. What fields does SOA/SCA address?
3. Several Levels of SCA
1,SCA specification hierarchy
SCA is a specification. It can be divided into several layers for different SCA usage:
Event |
Role |
Provide business needs |
User |
Develop business components using SCA specifications |
Software Service Provider |
Provides container implementation that complies with SCA specifications |
SCA container implementation vendor |
Provides underlying component implementation of SCA specifications |
Implementation vendor of Component Library and SCA underlying functions |
The event at the SCA level determines the role and positioning of the enterprise.
2. SCA business layer DecompositionIn SCA, each business component contains several different layers. Different layers correspond to different roles and tasks.
Angle |
SCA |
Business supervisor and business analysis personnel |
A group of services that constitute an IT asset (feature) that can be used to build solutions and publish them to customers and partners. |
Enterprise architect |
A group of Architecture Principles and patterns are used to deal with the overall features of the solution: modularity, encapsulation, loose coupling, separation of concerns, reuse, and combination. |
Project Manager |
A development method that supports large-scale parallel development. |
Testers and Quality Assurance engineers |
A modular approach that simplifies overall system testing. |
Software developers |
A programming model that includes standards, tools, and technologies such as Web Services. |
This layer provides a process reference for SCA implementation. In SCA, each business component contains several different layers, which can be implemented in different ways and can be assisted by some tools. For example, you can use UML for business analysis from the perspective of business directors and business analysts. Architects can use spring, osgi, and other technical frameworks and design patterns to implement the architecture layer structure. SCA aims to create a new layer to separate business and implementation in the business logic of IT infrastructure. It can simplify the application development process for the business needs environment, so that the system pays more attention to the business logic. By providing business logic through business components, SCA provides powerful combination capabilities to fully combine and reuse implementations embedded in the SCA environment. However, once the specific logic is involved, it is necessary to enter the SCA business layer. If the SCA business decomposition layer is compared with several stages of the waterfall development model in the software engineering development process, the relationship is roughly as follows:
Software Engineering Process |
SCACorresponding Level |
Requirement acquisition and analysis |
Business directors and business analysts: A group of services that constitute an IT asset (feature) that can be used to build solutions and publish these solutions to customers and partners. |
Requirement Analysis and outline design |
Enterprise Architect: A group of Architecture Principles and patterns used to handle the overall features of a solution: Attention, encapsulation, loose coupling, separation of concerns, reuse, and combination. |
Detailed design and project organization |
Project Manager: A development method that supports large-scale parallel development. |
Test |
Testers and Quality Assurance engineers: a modular approach to simplify overall system testing. |
Encoding |
Software developers: a programming model that includes standards, tools, and technologies such as Web Services. |
Implementing SCA can refer to the software development process and organize each layer.
Iv. sca-related application cases
<To be continued>