Tuesday, April 2, 2019
Wcf Architecture In Depth Information Technology Essay
Wcf Architecture In Depth In stageion Technology strive at once distri yeted system becomes increasingly signifi merchantmant and a majuscule minute of developers employ that engineering to build their coats. unmatchable of the around common use technologies is WCF which stands for windows communication foundation. WCF is apply on windows broadcast and .NET framework. On .NET framework WCF is the offset serve up-oriented mystify. There argon ternary im styleant percentages in WCF in hurt of scheduling ideal and they ar source, backrest and push. oftover, there ar cardinal stratums in storey structure of WCF and they be Messaging mould and gain Model floor. In order to understand WCF deeply some satisfactory features of WCF leave be introduced oftentimes(prenominal) as unification of contrasting technologies, interoperability with new(prenominal) existing finishings and fully encourage for overhaul-Oriented emergence.Key words WCF, proceeds-o riented development, architecture, shapes WCF, unification and interoperability. basisWCF, which stands for Windows Communication Foundation, is utilised by more distributed system application developers for its enceinte favors. WCF enables developers to build their applications which terminate meet contrasting requirements by unifying authorized distributed technologies. Applications positive by utilizing WCF dissolve interact with new(prenominal) applications developed in an early(a)(prenominal) verbiages and on other platforms easily. Updating conveniently is a nonher advantage WCF has, since it is un inf wholeible to re-deploy the whole application if only a variance of the resolvent necessitate to be modify. Address, hold fast and contract ar the threesome natural comp unrivalednts of WCF. Address is apply to guide the packets to the destination. Bindings responsibility is to specify the methods how the packets are direct. swerve is in charge of what he art and soul the packets should bind. The layer structure of WCF testament be introduced in this research as well. Messaging layer and emolument mould layer are the two layers. WCF has some outstanding features and these features forget be illustrated in the following paper.SERVICE-ORIENTED ARCHITECTUREWCF utilizes service-oriented as its instance, as a consequence, it is necessary to introduce the service-oriented architecture (SOA) before introducing WCF. Comparing to object-oriented architecture, SOA backside solve m either problems which are brought up by object-oriented architecture. For example, opposite components of an application do not depend on each(prenominal) other tightly, so modifying applications so as to meet the business indigences is not expensive and complicated every more. Some of the outstanding features and principles result be illustrated as follows.The definition of SOA is that SOA contains a set of operate and these serve were designed well by other developers. Hence, different run have a loosely-coupled relationship which enables developer to modify any serve as unavoidablenessed without affecting any other work. much specific completelyy, in object-oriented model changing only a small part of the solution will lead the whole application to be redeployed. However, in SOA all the services do not depend on each other tightly and they are all autonomous. The leaf node cheek of an application has no clue around the implementation process on the snip side and vice versa, as a consequence, implementing and modifying services on both knob and host is flexible. If a service needs to be updated and the service is still available there is no need to modify services on the node side. Schemas and contracts, which are two noteworthy component of SOA, are two aspects that SOA concentrates on to communicate with different nodes instead than classes. As a consequence, SOA enables the distributed application platform and l anguage independent.ARCHITECTURE OF WCFWCF has attracted more and more attentions due to umteen pros of it. Before WCF was invented, what developers utilized to develop applications were DCOM, .NET Remoting or Web service. However, these technologies brought some(prenominal) drawbacks including security, cross-platform and performance and so on. After WCF was invented a grand number of developers had started to utilize the new technology and the problems mentioned above groundwork be solved by WCF completely. In order to understand deeply to the highest degree WCF, the architecture of WCF will be illustrated as follows.wcfabc.png jut 15Communication through the endpointThe most important components of WCF are do by, binding and contract. Address is trustworthy to inform the data packet where to go. Binding is in charge of the steering how to communicate with the services. occupy is utilise to rig what the service contains or what the service is able to do. These three c omponents of WCF are also known as ABCs of WCF. Endpoint as shown in the figure 1 constitutes address, binding and contract and it is rout out be seen as the gateway for other thickenings. In order to communicate with a service, clients should know the ABCs of that service. As we know, the Web Service Description vocabulary (WSDL) is liable to describe what an endpoint send away do and how to access that endpoint.CUsersmalongDesk makeWCF architecture.jpgFigure 2 4WCF Programming ModelFigure 2 shows all the components of WCF programming model more details about this Model will be illustrated as follows. There are two sides of this programming model and they are client side and service side.Client sideThe client side can only consist of one endpoint which has address, binding and contract for each service. In the whole program the client side contains a proxy which enables the client to communicate with the service. When communicating with different services the client can utiliz e triune proxies which use nonuple endpoints accordingly. A proxy is utilized to fulfill the job of CLR user interface which has the same the lean as service contract. Proxy not only does the job of service contract but also provide extra involvements to manage the feel cycle of a proxy. All the attributes of a service are assembled by a proxy such as service address, service course of study environment and transport protocols. Different behaviors can be delineate by the client in order to configure the local configuration files including instancing, concurrency, deed control and security.Service sideThere can be multiple endpoints on the service side and these endpoints are in charge of displace centres to a service if there are some services requesting message sending in. behaviors do the same jobs as the behaviors do on the client side.On the service side there is a significant component named appetizer which is related to the proxy in the client side. Proxy and disp atcher work together to convert between methods that clients desire to invoke and WCF messages. dribble dispatcher and endpoint dispatcher constitute one channel stack. line of merchandise dispatcher is trustworthy for getting messages from the channel and choosing the endpoint dispatcher in which these messages will be dealt with. Endpoint dispatcher consists of filters and dispatch runtime. much specifically, it is the filters that chance on sure the incoming messages are dispatched to the even up function within a service object. After the messages are dispatched to the endpoint dispatcher, the message will be transfer to dispatch-runtime within that endpoint dispatcher. The object of Dispatch-runtime is utilized to choose which function to call and serialize or de-serialize functions parameters and control objects lifetime.More details about ABCs of WCFAddressAddress is utilized to tell clients where the pickle of the service is. Of course, before a client can communicate with the service side, it needs to know the address of the service first. The format of the address in WCF is URLs. In the URLs, many a(prenominal) things are defined including protocols, the address of the terminal providing services and the path which can enable the client to get access to the actual service. In URLs port number in address is not fixed and which port number to use depends on the types of transmitting protocols.More specifically, there are four parts of the address section. Firstly, transport scheme is creditworthy to define the protocol which is used to transfer message. Secondly, Name of the service machine is used to locate the machine which provides the services. Moreover, the name for that machine should be fully sufficient domain name which can be translated to the right IP address by some DNS servers. Thirdly, what port number developers can use exclusively based on transmitting protocol. By default port 80 is for HTTP address. The last one is path which is the name of the directories. Here is the format of address Scheme // hostname of service port number/path1/path2.BindingBinding plays a zippy role of defining the method to communicate with service side. Binding is prudent to control transport, carry, encoding and WS protocols. WCF has provided a large number of models of binding and these models can almost satisfy most of the developers. Custom binding can be built to meet the needs of developers who have special demands for the binding model.More specifically, a binding can be seen as a multiple forge stack which contains one or multiple bring and these channels are in charge of processing data. Transport channel is at the lowest level of this stack which is utilized to adapt the stack to the transporting protocols such as TCP, HTTP and SMTP. This special stack is used to supply with a supposition. And that concept is responsible to define in which way the message should be sent and to define what the messages should c ontain or what protocols should to be used for transmission. needContract is used to define what a message should contain or what services the service side can provide. More specifically, it is the contract that defines what services need to be exposed to outside thereby deciding what to implement inside. Moreover, contract enables the interoperation between different platforms to be authentic. Three different types of contract will be illustrated as follows. The first one is service contract which is utilized to define the transmitting methods among clients and services. Message contract is the second one and is used to define the message architecture. SOAP envelop can be modified by message contract. The last one is data contract which holds the info of classes such as types defined in classes and that information will be transferred between clients and service.There are three put across transmission methods and they are one-way, request-replay and duplex apartment. In the one- way word form a client sends out messages to the service, but the client does not wait for the receipt of that service. The pattern is like invoking an asynchronous function which does not have a return value. The second pattern is request-reply pattern in which the client will wait for a response from service after sending a message. That client is able to do nothing until it receives the response from the service. In other words, the request-reply is a two way interoperation which can be seen as a synchronous communication. This request-reply pattern is utilized as the default method in WCF. The last one is duplex pattern and this pattern is the most complicated manner comparing to other two patterns. The duplex pattern is a real peer-to-peer communication and the client and the service send and receive messages simultaneously which are transferred on different channels. In this method the client and the service can be seen as the message initiator.THE LAYER STRUCTUR OF WCFFigur e 34The layer structure of WCFWCF has a layered structure which contains two different layers and they are service model layer and electronic pass along layer. What a developer to do on the service model layer is to do the programming task, however, the messaging layer, which is underneath the service model layer, is responsible to transport the all the messages to the destination. The concept of layer structure enables to separate the programming from the messaging. As shown in the figure 3, service model layer is the top layer which is in charge of contract, policy and behavior. And behavior is the most significant part among these three. Channels, encoders, transports and protocols are the components of messaging model in which the channels is the most important part.Messaging layerIn messaging layer all the real messages are transferred on this layer which is similar to the network layer and data-link layer in OSI model. Moreover, transports protocols are defined at this layer as well. Format for the messages and the messages encoding rules are both defined at messaging layer too. Channel is a function that the messaging layer provides which is responsible to transmit messages among clients and services. Channel function is so important that messaging layer is sometime called channel layer. Address and binding are two significant components in channel. Address is utilized to tell the message where the service location is and the bindings responsibility is to manage the methods that messages should be sent. In order to enable the messaging transmission to work well between clients and services, both the client and service need to understand all the variables such as protocols, the encoding, method defined to transfer message and transport. It is the factory that enables the client side to create channels so as to communicate with services. Listener plays the role of accepting messages from client side through predefined channels. Channels another function is that it can oversee the forwarding messages and receiving messages by utilizing specified transport and messaging transfer method.Service Model layerService model layer enables to affect the messaging process by utilizing object-oriented programming rules. When developers design their applications the design actually happens at this layer. In other words the service model layer responsible for the design of the application and it provides user-friendly API which includes classes, functions, attributes and configurations. In service model layer the most significant part is behavior and client and service can have multiple behaviors. Behaviors do have effect on the reading from messages to .NET attributes rather than affecting on contract.UNDERSTAND WCF IN DEPTH join of flow rate technologiesNowadays a number of distributed technologies are utilized by developers to develop their applications. Although there are some advantages of these technologies, these technologies brought many problems. These technologies utilize different programming languages and models. If developers desire to build distributed system they need to utilize apparent APIs. WCF is the new technology which enables developers to build distributed system for different business corporations by utilizing only one API. WCF can be seen as the combination of these current distributed technologies such ASMX, .Net Remoting, MSMQ and WS-* technology. WCF also inherits the advantages of these technologies such as efficiency from ASMX, extensibility and flexibility from .Net Remoting and so on. Some of the technologies will be illustrated as follows.ASMX stands for ASP.NET Web run which provides great interoperability and the ability to make packets pass through firewall easily. ASMX transfers data through messages as well. Different transport protocols can be utilized to transfer message such as HTTP and TCP. And the main protocol for message is SOAP the format is XML. However, ASMX is not flex ible in choosing delivery methods and security manners. It is the ASMX that enables to communicate to applications which is developed by J2EE across the internet. ASMX has been seen as a very outstanding vendor-independent technology..NET Remoting has a good support for the lifetime management and self-defined hosts. Moreover, it has an outstanding extensibility and flexibility. If there are many boundary clients which needs to communicate with a central server .NET Remoting is the best choice, because the both the client and the server should be developed on .NET environment. This .NET to .NET architecture provides the best performance. go-ahead Services is the next generation of COM+ and can be utilized to manage the lifetime of object and specify the distributed transactions. Enterprise services enable developers to focus on building service-oriented components. The interoperability is one of the comparatively serious drawbacks. And the number of communication protocols which sup port this technology is small.WSE stands for Web Services Enhancements and can be utilized to talk to J2EE based applications. A large number of the agreements which are defined in web services have been implemented in WSE, as a consequence, WSE can be called WS-* specifications. WSE can understand the security of an application.MSMQ is the abbreviation of Microsoft Message Queuing. MSMQ enables to send messages to the partner applications which are not available or online. In other words, MSMQ lets the messages stayed in the waiting line and sends the messages to the server when it is available. MSMQ is the best for applications that the servers are not online all the time.CUsersmalongDesktop1.jpgFigure 41Unification feature of WCFFigure 4 shows the summary information about the technologies that WCF has unified. As we can see from figure 4, WCF provides more for developers, which enables to build applications much conveniently and efficiently.How to unify different technologiesW CF enables developers to use all the good points from other technologies straight away. In order to make the other technologies work for WCF, developers need to attach specified elements to the contract of WCF. WCF can gain a great number of good features due to the unification of others technologies. Some of the good features which genetical from Web Service are shown as follows.Because WCF has a good support for web service, WCF gains some good features about security. WS-security and WS-Trust enable WCF to provide many functions including integrity checking, authentication and so on. These features can ensure the security for the transmission for SOAP messages. WS-Reliable messaging adds an additional tag into SOAP header which enables WCF to ensure its communication much reliable. WCF also supports the integrity of the data because of the feature of WS-Coordination and WS-Atomic. WS-Addressing can be used to make the messages transmission without utilizing transport protocols.I nteroperability with Other PlatformsNowadays distributed applications are developed in many different languages and the technologies utilized are invented by many different vendors as well. That situation happens in many enterprises and the applications employ WCF can communicate with other applications using other language or software because WCF utilizes SOAP as its communication protocol. WCF based applications are able to interact with applications working in distinct process on same terminal and applications working on other terminals. Applications built on WCF can interoperate with each other when they are run on different operating systems such as Linux and windows. WCF is able to enables the previous technologies to with compatibly with itself. More specifically, SOAP is utilized by both ASMX and WCF as a consequence, ASMX built-on applications can work compatibly with applications which are based on WCF.Service-Oriented Development is supportOver the next few years, creati ng applications in a service-oriented style will become the norm. For this to happen, the platforms on which those applications are built must provide the right support for creating service-oriented software. Achieving this is one of WCFs most important goals.Building distributed applications by using Services-oriented Development will be increasingly popular. WCF is seen as the first service-oriented development technology in the platform of windows, which provides a good support for platform independent and updating services conveniently.What does WCF concentrate on is the service rather than object. Some of the key principles about WCF are illustrated as follows.The first one is shared schema. Communication between applications never depends on classes anymore and what they depends on is schema which has be predefined in both of these applications. The behavior transferring attributes such as classes or functions will be banned. Secondly, services are all independent. An interfac e should be defined between clients and services, which enables the application language and platform independent. However, the clients and services should be loosely-dependent. Lastly, the boundaries should be defined clearly. The explicit boundary enables the remote objects to be seen as they are local.CONCLUSIONIn conclusion, WCF is a Windows platform service-oriented technology which is able to provide interoperability between different applications. Nowadays distributed application developers select to utilize technologies built on service-oriented architecture. One of the advantages of service-oriented architecture is that different components of an application depend on each other loosely, so modifying application in order to meet the business needs is economical and easy. WCF is an outstanding object lesson of SOA and it has three significant components in its programming model. The three components are address, binding and contract. Address is used to tell where the messa ge should be transferred. Binding is responsible to define how to communicate to a service. Contract is in charge of describing what services are provided. There are two layers and they are service model layer and messaging layer in terms of WCF layer architecture. One of the important responsibility in messaging layer is how the real messages can be sent out with all the attributed being serialized. Service model layer is responsible for the design of the application and it provides user-friendly APIs for the prospective utilization. In order to get a deep understanding WCF, a number of features of WCF was introduced. WCF is like a combination of other distributed technologies and it makes the combination of technologies is much user-friendly.Shared schema, Independent Services and Clearly Defined Boundaries are the three key principles to SOA.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment