Rdiframework.net Framework SOA Solutions (set Windows Services, WinForm forms, and IIS publishing Forms)-distributed applications

Source: Internet
Author: User
Tags wsdl

Rdiframework.net Framework SOA solution (set Windows Services, WinForm form and IIS form advertisement)-Distributed applications

Rdiframework.net, based on the. NET High-speed information system development, integration framework for users and developers the best. NET Framework deployment scenarios.

The framework takes the SOA paradigm as the guiding ideology and provides a feasible solution for the integration and interoperability of heterogeneous systems and distributed applications.

1, the SOA platform Simple Introduction 1.1, overview

SOA (service-oriented architecture, also known as service-oriented architecture or service-oriented architecture) refers to a software system architecture that is implemented by connecting independent functional entities that can complete specific tasks in order to address the need for business integration in an Internet environment. SOA is a component model that links different functional units (called services) of an application through well-defined interfaces and contracts between these services. Interfaces are defined in a neutral way, and should be independent of the hardware platform, operating system, and programming language that implements the service. This enables services built on a variety of such systems to interact in a unified and universal manner.

Traditional web (html/http) technology effectively overcomes the interaction and communication between human and information system, and greatly promotes the development of the mode of consumer-to-consumer.

Web Services (XML/SOAP/WSDL) technology is to effectively solve the interaction between information systems and communication problems, and promote the development of B2B/EAI/CB2C. SOA (service-oriented architecture) is the adoption of service-oriented business modeling technology and Web services technology to achieve loose coupling between systems. Realize the integration and collaboration between systems.

The essential idea of Web services and SOA is to enable the individual information systems to form collaborative work based on communication.

For synchronous-and asynchronous-oriented applications. SOA is a revolution in distributed computing based on request/response patterns.

The business logic of an application, or some individual function, is modularized and presented to the consumer or client as a service. The key to these services is their loose coupling characteristics. Like what. The interface and implementation of the service are independent. Application developers or system integrators can build applications by combining one or more services. Without having to understand the underlying implementation of the service.

For example. A service can be used.

NET or Java EE, and the application that uses the service can be different on different platforms.

1.2. Basic features of SOA

The implementation of SOA has several distinct basic characteristics. The key goal of implementing SOA is to maximize the impact of enterprise IT assets.

To achieve this goal. The following characteristics must be kept in mind in implementing SOA:

Can be interviewed from outside the enterprise

Ready to use

Coarse-grained Service interface ratings

Loosely coupled

Services that can be reused

Service Interface Design Management

Standardized Service Interfaces

Supports various message modes

A precisely defined service contract

1.3. Why Choose SOA

Different kinds of operating systems. Application software, System software and application infrastructure (application infrastructure) are intertwined, which is the status quo of the IT enterprise.

Some existing applications are used to handle the current business process (processes), so it is impossible to build a new infrastructure from scratch. Enterprises should be able to respond to changes in the business at a high speed, leveraging the investment in existing applications and application infrastructures (application infrastructure) to address new business requirements. Provide new channels of interaction for customers, business partners and suppliers, and a framework that supports organic business (organic).

With its loosely coupled nature, SOA enables enterprises to incorporate new services or update existing services in a modular way, to address new business needs, to provide choices that can deliver services through different channels, and to serve existing or established applications in the enterprise, thereby protecting existing IT infrastructure investments.

2. Definition of service 2.1, overview

About the definition of SOA platform services. For now, there are two kinds of forms. One is to define the form of a standard interface. One is to define the implementation of the service in the form of a standard webservice.

  

  In the definition of SOA platform services in the form of interfaces, the Rdiframework.net SOA implementation is also used in this way.

The specific implementation is based on the. NET technology for the implementation of WCF. Services can be stored in several ways (advertised): Windows service mode (frequently used), WinForm interface mode, IIS service mode, and so on. In the following article we will introduce separately.

2.2. SOA Service Design principles

First,   SOA requires consistency

There are a number of candidate technologies that can be used to create, advertise, Discover, and invoke services. SOA should provide an architectural reference. To specify the specific mechanisms that will be used by service providers and users, and we should aim to achieve consistency among all the participants in SAO.

Such consistency can reduce development, integration, and maintenance efforts.

Given the need to use elements outside the Reference Architecture, we recommend the use of a complementary approach. For example, if we select the Mechanism for service Disclosure and discovery is UDDI. But what happens when a particular development team is already using a development process that is based on other repository technologies? We will choose to devote our effort to publishing the team's services to two repositories at the same time. This allows existing service users to use their familiar (but probably not standard) repositories. A consumer who executes on a public SOA infrastructure can use a standard repository for all services, such as UDDI.

Second,   SOA simplifies development

We want scalability and resiliency in whatever enterprise-class SOA infrastructure. It should also include an industry-class enterprise service bus. ESB) and security technologies.

Or, to put it another way, developers of services and processes that target SOA can take advantage of mature middleware. Rely on the SOA infrastructure to provide solutions to problems such as authentication, message transformation, and reliable messaging delivery.

The provision of these middleware functions should be based on an important principle: service and process developers should stay away from the complex details of middleware implementations. Our ideal goal is to. Developers working in our SOA environment need only the knowledge and key programming skills of the business domain.

Service has a standard, formally defined interface that can be processed by a computer

learned that tools and code generation can play an important role in SOA implementations. We now emphasize the importance of using interfaces that can be processed by computers. When the interface is described using a well-defined language that can be handled by the computer. In effect, support is provided for various tool support functions. We want to improve the separation situation, so we strongly recommend using a formally defined open standard language such as WSDL instead of a dedicated format.

The concept of a method that can be processed by a computer should extend from a description of the service interface (such as WSDL) to all other forms of declarative information or metadata. Just at the same time, emphasizing declarative technology and computer-processed metadata, talent shifts its associated complexity from business application developers to standards-based middleware. Technologies such as the emerging ws-policy play an important role in supporting this approach.

  Third, the service should be designed to be reusable

Service designers should keep in mind that whatever services they develop can become reusable assets. Instead of focusing solely on the needs of the original users of the service, designers should conduct a broader business analysis to identify more comprehensive requirements. We recommend. Designers should consider the possible direction of service development:

The design must be able to adapt to the continuously added throughput, assuming that the service can be executed successfully with the number of services added, then the usage rate will increase exponentially.

Assume that the number of services is added. The data volume and concurrency data access patterns may be significantly different from when they were initially put into use.

We must estimate the future growth of the service request. New users may need additional functionality. Or you need to make changes to existing features

  Iv. Service should have a carefully selected grain size

When choosing a service granularity, we may need to compromise between several factors. such as maintainability, operability, and ease-of-use.

Any given SOA should provide guidance to service designers to determine such compromises.

  Five, the service should be cohesive and complete

Now that you are aware of the need to be thoughtful when determining the granularity of a service, what are the considerations when determining which operations should comprise the service? We feel that there are two object design concepts that are very practical: cohesion and completeness.

  VI. services should be packaged for implementation details

The motivation behind our encapsulation of the details of the service implementation-the algorithms and resources used-is to add separation between the service consumer and the provider, providing flexibility for future expansions.

  Seven, the operation design should consider the concurrency

3. Framework SOA Announcement method

The SOA (WCF service side) of the rdiframework.net framework can be hosted (advertised) in the following ways: Hosted in Windows Service mode, hosted in WinForm form, and hosted in IIS.

      to want the framework to execute in WCF mode, you must first configure the " config " file, locate the software service provider item. There are two kinds of values: rdiframework.serviceadapter and rdiframework.serviceclient

The system defaults to "rdiframework.serviceadapter", which is the traditional way of data access (logically three-layer structure). You want the system to execute in WCF mode. The value must be set to:rdiframework.serviceclient

With this setup, you can simply deploy it in WCF mode to execute the program. The WCF pattern executes the configuration. Config file configured for example as seen in.

Of course, the correct configuration of the client and server side of WCF mode and the method of binding. To be able to participate in the relevant articles, in our framework of the configuration file is also described in detail.

3.1, the service side with the Windows Service Park execution

Rdiframework.net Framework SOA Solutions (set Windows Services, WinForm forms, and IIS publishing Forms)-distributed applications

Related Article

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.