Nucleus in the WebService
A development kit
Existing files:
-
"Simple axis"
Current development kits:
-
Server development kits using apache axis
-
Client development kits use systinet wasp 5.0
And client services using different development kits reasons:
-
Systinet services-development kits to be used in conjunction with the systinet server, and we chose JBoss, etc., and service options other end of the development kits
-
Systinet-service package and the development of client development kit with a socket occupied default port, is not in the same application at the same time must be used systinet services and client, and service options other end of the development kits, systinet Further study may resolve this problem
-
Axis client development kits using the "enum" do ordinary labels, and can not JDK5 compiled, and we must use JDK5, the client opted for other development kits
Servers and clients use the various development kits:
-
Unable to complex data types such as ArrayList, HashMap provide support because of the different development kits WebService types of non-standard codec options are not the same
-
Introduced a lot of unnecessary class library and learning costs, systinet wasp 5.0 is a very huge things, there is not efficient use it, the course of testing found a way to use the current performance problems
Solutions:
-
Client also uses axis, in the 1.4 compiler will generate a stub for the jar packets, and then invoked 1.5
-
Systinet understanding of the present very limited, the above discussion on it may not be correct, after further study may resolve these issues
-
Systinet axis or waiting for their upgrade
Second, the Nucleus in the WebService
Implementation
From "simple axis", we can see the need to release some WebService configuration descriptor, in the M2 \ Engine \ ServiceInterface \ nucleus \ WEB-INF \ of
Increase or modify WebService only need to amend the server-config.wsdd; usually have several ways modifications:
-
If more familiar with the axis can be manual changes
-
If there are suitable eclipse plug-in, you can use the plug-in wizard Laws
-
If JBuilder, you can use the wizard to amend JBuilder
At present the use of JBuilder + manual changes:
-
Some could be unrelated to the new project and get to know the axis JBuilder support and WebService
-
Familiar with, the use of JBuilder Nucleus issued in the new WebService, thereby creating a new server-config.wsdd
-
New server-config.wsdd copy of a new WebService corresponding description, paste it into M2 \ Engine \ ServiceInterface \ nucleus \ WEB-INF \ server in-config.wsdd
Design
In order not to rely on WebService, Nucleus to the interface definition in the form of basic services interface:
Package nucleus.bizcommon.servicegateway:
Public interface AgentService
Public interface EngineManager
Public interface MonitorWebService
Public interface OrganizationWebService
Public interface PDMWebService
Public interface ReportWebService
Public interface TaskListWebService
In order to facilitate distributed and embedded between the overall switch Nucleus definition of a Service Gateway Interface:
Package nucleus.servicegateway:
(Public interface WebServiceProvider
PDMWebService getPDMWebService ();
OrganizationWebService getOrganizationWebService ();
EngineManager getEngineWebService ();
MonitorWebService getMonitorWebService ();
TaskListWebService getTasklistWebService ();
ReportWebService getReportWebService ();
AgentService getAgentService ();
)
At the same time, provide a distributed gateway services
Public final class nucleus.servicegateway.ExternalService implements WebServiceProvider
And embedded gateway services
Public final class nucleus.servicegateway.InternalService implements WebServiceProvider
Then switch can be configured
<bean Id="web.service.provider" class="nucleus.servicegateway.InternalService"/>
<! - <bean Id="web.service.provider" class="nucleus.servicegateway.ExternalService"/> ->
Here there inconvenient expansion interface named no intention counterparts (such as the interface name should not be included in the "Web") and other issues, it seems that the information system should also include
Packing
CruiseControl and ant currently used to package, the script file is located in M2 \ Engine \ *. xml
Third, summing up
Summing up the above, the new WebService steps:
-
Definition of a service interface: public interface nucleus.bizcommon.servicegateway.NewService;
-
Realization of this interface: public class NewService implements nucleus.bizcommon.servicegateway.NewService;
-
WebServiceProvider increase in a way: NewService getNewService ();
-
ExternalService and in the realization of this method InternalService
-
Published NewService use JBuilder
-
Laws server-config.wsdd
-
Packing
Tags: webservice








0 Comments to “Nucleus in the WebService”
No Comments. Send your comment.
Leave a Reply
You must be logged in to post a comment.