Web Service Composition - Current Solutions and Open Problems

Web Service Composition - Current Solutions and Open Problems
Web Service Composition - Current Solutions and Open Problems

Web Service Composition-Current Solutions and Open Problems

Biplav Srivastava

IBM India Research Laboratory Block1,IIT,New Delhi110016,India sbiplav@https://www.360docs.net/doc/b72052992.html,

Jana Koehler

IBM Zurich Research Laboratory CH-8803R¨u schlikon,Switzerland koe@https://www.360docs.net/doc/b72052992.html,

Abstract

Composition of Web services has received much inter-est to support business-to-business or enterprise appli-cation integration.On the one side,the business world has developed a number of XML-based standards to formalize the speci?cation of Web services,their?ow composition and execution.This approach is primarily syntactical:Web service interfaces are like remote pro-cedure call and the interaction protocols are manually written.On the other side,the Semantic Web commu-nity focuses on reasoning about web resources by ex-plicitly declaring their preconditions and e?ects with terms precisely de?ned in ontologies.For the composi-tion of Web services,they draw on the goal-oriented in-ferencing from planning.So far,both approaches have been developed rather independently from each other.

We compare these approaches and discuss their solu-tions to the problems of modeling,composing,exe-cuting,and verifying Web services.We discuss what makes the Web service composition so special and de-rive challenges for the AI planning community.

Introduction

The growing trend in software architecture is to build platform-independent software components,called Web services,that are available in the distributed environ-ment of the Internet.Applications are to be assembled from a set of appropriate Web services and no longer be written manually.Seamless composition of Web ser-vices has enormous potential in streamlining business-to-business or enterprise application integration.

The functionality of a Web service needs to be de-scribed with additional pieces of information,either by a semantic annotation of what it does and/or by a functional annotation of how it behaves.The indus-try views Web services as abstract,standardized in-terfaces to business processes.The speci?cation of a Web service is expressed in WSDL(Christensen et al. 2001),which speci?es only the syntax of messages that enter or leave a computer program.In which order messages have to be exchanged between services must be described separately in a?ow speci?cation.There are many Web services?ow speci?cation languages like BPEL4WS(Curbera&others2002)and WSCI(Arkin &others2002).The composition of the?ow(i.e.,plan)is still manually obtained.Semantic annotations have been widely discussed in the Semantic Web community (Berners-Lee,Hendler,&Lassila2001)where precondi-tions and e?ects of services are explicitly declared in the Resource Description Format(RDF)(RDF1999)using terms from pre-agreed ontologies.1Consequently,un-derstanding the meaning of the messages poses no prob-lem at all in this approach.For composing Web ser-vices,the semantic-web community draws on AI plan-ning,which for over three decades,has investigated the problem of how to synthesize complex behaviors given an initial state,an explicit goal representation,and a set of possible state transitions.It is often assumed that a business process or application is associated with some explicit business goal de?nition that can guide a planning-based composition tool to select the right ser-vice(McIlraith&Son2002).

Unfortunately,we found that explicit goals are usu-ally not available from an industrial perspective.A business process model describes the processing of per-sistent data objects in discrete process steps.The real “goal”of a business often remains implicit in these mod-els and is rather expressed at a higher level using often using balanced score cards,while the implicit goal of a business process is the correct handling or the creation of data objects manifested in persistent documents.For example,the explicit goal of a travel reservation process is to perfectly organize the travel,while its(more or less)implicit goal is the creation of the required travel documents in some data base.

We believe that understanding this and other related issues will pave the way for research directions in plan-ning to e?ectively address the Web services composi-tion problem.To that end,we take a realistic appli-cation domain for Web services(speci?cally,trip plan-ning)and highlight to what extent business needs are addressed by the WSDL Web services and the Semantic Web approaches.We investigate how these approaches di?er with respect to the modeling,veri?cation,and de-ployment of services and the respective inference meth-ods and runtime support that they assume.We con-1We will qualify Web services with the pre?x semantic for Web services expressed in RDF and reserve the term Web services for business process interfaces expressed in WSDL.

clude with a discussion of related work and describe an industry-relevant,yet unsolved,practical planning problem.

An Example Scenario

We describe in detail the Web service application sce-nario of booking travel packages in a travel agency2 and consider how a simple,closed-world travel example evolves into a dynamic,integrated solution.

In the closed-world case,a customer talks to the travel agent who notes the customer’s requests and gen-erates a trip request document that may contain several needed?ight and hotel reservations.The travel agent performs all bookings and when he is done,he puts the trip request either into the cancelled requests or the completed requests data base,see Figure1.A completed document is sent to the customer as an answer to his request.If the booking fails,the customer is contacted again and the whole process

re-iterates.

Figure1:The closed-world travel agency.

Let us assume that our travel agency wants to co-operate with external specialized service providers that o?er hotel and?ight reservations.The process is now no longer a closed-world solution,but requires to reor-ganize the entire processing of customer requests.New services have to be integrated and all services must cor-rectly interact with each other.

In this new situation,upon receiving the customer or-der,the travel agent will still create a trip request and derive the required hotel and?ight reservations for it. These are now sent to specialized services,which work independently of each other and try to book the desired reservations.The coordination is achieved through the travel agent process to whom the services report their success or failure in making the requested bookings. When both services have been successfully completed, the con?rmation process step puts all documents to-gether and informs the customer about the completed trip plan.If one of the services fails,the cancellation process step tells the other service to put all reserva-tions on hold and contacts the customer to revise his trip.

In the open-world variant of this example scenario, we see properties that are quite typical for real-world 2See https://www.360docs.net/doc/b72052992.html,/2002/04/17-ws-usecase.planning scenarios:

?a number of processes or agents concurrently and co-operatively try to achieve some goal,?processes can spawn o?other processes at runtime e.g.,,for each hotel request a hotel service could be invoked.This number is not known at design time, but only becomes known at runtime.

?the processes partially interleave with each other, synchronize or run fully independent of each other,?each process exhibits a complex behavior,?certain planned operations may fail and require to recover from a failed execution.

In the following,we are going to discuss how Web services are used to implement open-world business so-lutions.

Web Services

Web services are de?ned as self-contained,modular units of application logic which provide business func-tionality to other applications via an Internet connec-tion.Web services support the interaction of business partners and their processes by providing a stateless model of“atomic”synchronous or asynchronous mes-sage exchanges.These“atomic”message exchanges can be composed into longer business interactions by pro-viding message exchange protocols that show the mu-tually visible message exchange behavior of each of the partners involved.The issue of how web services are to be described can be resolved in various ways.

Web Services in WSDL

The Web Services De?nition language(WSDL)(Chris-tensen et al.2001)is an XML-based language,which speci?es a Web service by de?ning messages that pro-vide an abstract de?nition of the data being transmitted and operations that a Web service provides to transmit the messages.Four types of communication are de?ned involving a service’s operation(endpoint):the endpoint receives a message(one-way),sends a message(noti-?cation),the endpoint receives a message and sends a correlated message(request-response),and it sends a message and receives a correlated message(solicit-response).Operations are grouped into port types, which describe abstract end points of a Web service such as a logical address under which an operation can be invoked.A WSDL message element de?nes the data elements of an operation.XML Schema syntax is used to de?ne platform-independent data types which mes-sages can use.Each message can consist of one or more parts.The parts can be compared to the parameters of a function call in a traditional programming language. Concrete protocol bindings and physical address port speci?cations complete a Web service speci?cation. We show a sample WSDL fragment for a possible travel agency service.Port type names are simple de-fault strings and operation names illustrate the inter-acting process steps.For example,“Customer to Create

Itinerary”is abbreviated with CToCI,“Create Itinerary to Flight Service”is abbreviated with CIToFS,RIToFS stands for“Replan Itinerary to Flight Service”.

xmlns="https://www.360docs.net/doc/b72052992.html,/wsdl/">

...

FlightItinerary

rdf:resource=".../concepts.daml

#FlightItinerary"/>

rdf:resource="#roundTrip_In"/>

The ServiceModel is a detailed description of the ser-vice in which it is modeled as a process.This descrip-tion is further sub-divided into a process model,which describes the sub-components of the service and a pro-cess control model,which provides a runtime frame-work to monitor the execution of the service.In the process model description of a composite process,the sub-processes dependencies and interactions can be ex-pressed by Sequence,Split,Unordered,etc.We will show the representation of a static(sub-)?ow for the ?ight Service at Bravo Air in Section.

Finally,the ServiceGrounding provides the binding level information of how a client can access the ser-vice,e.g.,by using SOAP or Java RMI.In the frag-ment shown below,DAML-S parameters are mapped to WSDL descriptions which in turn have protocol-level binding information.

rdf:parseType="daml:collection">

3See https://www.360docs.net/doc/b72052992.html,/services/daml-s/0.7/.

4See https://www.360docs.net/doc/b72052992.html,/ont/DAML-S/con-cepts.daml.

rdf:resource=".../FlightItinerary"/>

rdf:value=".../availFlightItinerary"/>

With the Semantic Web infrastructure in place,prac-tical and powerful applications can be written that use annotations and suitable inference engines to automati-cally discover,execute,compose,and interoperate Web services.While type and consistency checking are cur-rently possible and inferencing with Horn-clauses will soon be available,larger subsets of?rst-order predi-cate logic are not yet supported by the Semantic Web, i.e.,the degree of logical expressivity as it has been achieved in today’s planning languages has not yet been reached.

Discussion

WSDL provides a function-centric description of Web services covering inputs,outputs,and exception han-dling.The Semantic Web provides a process level de-scription of the service which,in addition to functional information,models the preconditions and postcondi-tions of the process so that the evolution of the do-main can be logically inferred.It relies on ontologies to formalize domain concepts which are shared among services.

Modeling Flow Composition

We now discuss how the two approaches address the Web service composition problem.Given the di?erent information that is available to specify a Web service in either approach,it is not very surprising that the solutions to the?ow composition problem come out in apparently di?erent(albeit not so divergent)ways,too. Industry Solution:WSDL+BPEL4WS We saw the interface description of the travel agent Web service in WSDL.The interactions and message exchanges between the travel agent and its partners—the customer,the?ight and hotel services are described in a business protocol speci?cation language(we will concentrate on the standard BPEL4WS proposed by IBM and Microsoft),which speci?es the roles of each of the partners and the logical?ow of the message ex-changes from the perspective of the travel agent process. To make the example more interesting,we assume that the interaction with the customer will also proceed via a Web service interface.

myRole="TripHandlingAgent" serviceLinkType="ExternalServiceLink"

partnerRole="CustomerAgent"/>

myRole="TripHandlingAgent" serviceLinkType="InternalServiceLink"

partnerRole="FlightServiceAgent"/>

myRole="tripHandlingAgent" serviceLinkType="InternalServiceLink"

partnerRole="HotelServiceAgent"/>

...

...

For each WSDL message,a corresponding container to hold that message must be speci?ed.

messageType="OrderEventType"/>

messageType="TripRequestType"/>

messageType="FlightRequestType"/>

messageType="HotelRequestType"/>

messageType="BookingFailureType"/>

The most di?cult task for an IT specialist is to specify the logic of the message?ow.5For this pur-pose,BPEL4WS provides programming-language like constructs(sequence,switch,while,pick)as well as graph-based links that represent additional ordering constraints on the constructs.The language is fairly complex as the example below illustrates.

The process starts when it receives a trip request from the customer.After the request has been received,hotel and?ight request messages can be sent in any order to the two partner services.

portType="pt1"

operation="CToCI"

container="OrderEvent">

portType="pt2"

operation="CIToHS"

inputContainer="HotelRequest">

portType="pt3"

operation="CIToFS"

inputContainer="FlightRequest">

5Development e?ort to support or partially automate this task is under way in the industry,but this goes beyond the scope of our paper.

After the partner services have been invoked,the pro-cess waits for the services to send the results of their booking operations,which again can arrive in any or-der.

portType="pt4"

operation="HSToEVAL1"

container="HotelRequest">

portType="pt5"

operation="FSToEVAL1"

container="FlightRequest">

After the answers have been received,the process needs to branch depending on whether the trip could be booked or not by the services.This introduces a ?rstconstruct in the process.We only show a very abstract representation of the condition,which in reality will be a complex XPATH expression on the contents of the arriving message.In the?rst branch (ConIToC),the process needs to inform the customer about the successful completion of his reservation and sends the completed trip request documents.In the sec-ond branch(RIToC),it needs to inform the customer about the booking failure and decide,which of the ser-vices has to be informed about the failure of the other partner.The partners can be informed in any order, which again introduces aconstruct into the pro-cess.Within the?ow,anotherconstruct is nested that decides which partner is informed.

portType="pt6"

operation="ConIToC"

inputContainer="TripRequest">

portType="pt7"

operation="RIToC"

inputContainer="BookingFailure">

portType="pt8"

operation="EVAL2ToHS"

inputContainer="BookingFailure">

portType="pt9"

operation="EVAL2ToFS"

inputContainer="BookingFailure">

...

Each of the partner processes needs to be speci?ed in a similar way and it must be made sure that these speci?cations?t to each other.We will get back to this problem in Section.

Semantic Web Solution:RDF/DAML-S+ Golog/Planning

Let us now try to solve the service composition prob-lem of the travel domain from a Semantic Web perspec-tive.We again focus on one of the partners and con-sider the static(sub-)?ow for the?ight reservation at Bravo Air,which is speci?ed in the process model of the ServiceModel.The service model states that the?ight reservation at Bravo Air is a composite process(service) realized by invoking the sequence of sub-processes:Get-DesiredFlightDetails,SelectAvailableFlight,and Book-Flight.Basically,the ServiceModel construct of each service will be used to describe its(static)process level description,and the complete speci?cation is compara-ble to a BPEL4WS process speci?cation.

".../Process.daml#CompositeProcess"/>

".../Process.daml#composedOf"/>

"daml:collection">

"process:Sequence"/>

".../Process.daml#components"/>

"daml:collection">

In(McIlraith&Son2002),a method is presented to compose Web services by applying logical inferencing techniques on pre-de?ned plan templates.The service capabilities are annotated in DAML-S/RDF and then manually translated into Prolog.Now,given a goal description,the logic programming language of Golog (Levesque et al.1997)(which is implemented over Pro-log)is used to instantiate the appropriate plan for com-posing the Web services.Golog is based on the situation calculus and it supports speci?cation and execution of complex actions in dynamical systems.The authors ex-tend it to support sensing actions that can?nd values of variables at runtime.

procˉ(travel(D1,D2,0,D)

bookRAirticket(O,D,D1,D2),

bookCar(D,D,D1,D2)

|

bookCar(O,O,D1,D2),

bookHotel(D,D1,D2),

sendEmail,

updateExpenseClaim

).

Table1:Travel reservation procedure using Golog.O, D,D1and D2stand for Origin,Destination,Departure time and Return time.

Table1shows the generalized plan taken from(McIl-raith&Son2002)that is input to their Golog reasoner. The plan speci?es that in order to make a travel book-ing,i.e.,to achieve the goal travel(D1,D2,0,D),ei-ther a return air and subsequent car reservation have to be made between the origin and destination,or a direct car reservation has to be made.This will be followed by making hotel reservations,sending an email about the overall reservation to the user and?nally updating the expense claim forms.Similar plan/action templates for individual processes like bookRAirTicket have to be de?ned as well.

The Golog reasoner,given the plan and action tem-plates,evaluates non-deterministic choices and executes the plan.Since execution is in the Prolog environment, the non-deterministic choice is actually made according to the default evaluation order(i.e.,the order of appear-ance of literals).Essentially,Golog programs are user-provided plan templates which are customized(bound at runtime)to goal instances.The system uses hand-built wrappers to transform semantic annotations into Golog representations,and vice-versa.

In the following section,we compare the speci?c char-acteristics of the two approaches with each other and derive challenges for AI planning research.

Discussion

The speci?cation of the composite service,whether speci?ed in BPEL4WS or DAMLS-S,encodes process information that can be bound to di?erent protocols. One thing to note is that there is signi?cantly more emphasis in BPEL4WS on error handling and message correlation.In BPEL4WS,it is possible to express choice among multiple process activities using the pick and switch constructs,but the set of choices is pre-determined and each activity is conditioned on the oc-currence of an event or a speci?c message contents.A similar construct in DAML-S is the Choice construct for selecting a subset of sub-processes from a compos-ite process.The Semantic Web composition solution with RDF/DAML-S and Golog seems to be compa-rable to the BPEL4WS speci?cation—both allow the customization of the plan execution at runtime,i.e.,to select a particular branch of execution or to loop until an exit condition is satis?ed,and support the binding of variables to concrete values discovered at runtime. The industry approach looks at composite services mainly from the runtime perspective of functions,data and control?ow.Under this angle,the essential infor-mation for reasoning about a service are inputs,outputs and exception handlers.Schemas de?ne and restrict the format of data and de?ne their relationships.Flexibil-ity in dynamically adapting the plan is limited to the speci?cation of binding details at runtime and to exe-cuting speci?c branches in it.

The planning approaches in the Semantic Web are focused on the process-centric description of services as actions that are applicable in states.State transi-tions are de?ned based on preconditions of actions and a transitions leads to new states where the e?ects of the action are valid.They need a representation of state,actions,goals,events and optionally,an ontology of standard terms.The plan can be adapted both of-?ine and online.There is more?exibility in terms of considering di?erent choices of services(plans)based on goals,but the goals are explicitly given.

It is our impression that none of the approaches has developed a true planning solution to the service com-position problem so far.Both,BPEL4WS speci?ca-tions and Golog programs,are written manually and no assembling of complex?ows from atomic message exchanges based on a search process takes place.We also see the following characteristics that make current AI planning technology not directly applicable to the service composition problem:

?The action representations can be kept rather simple and only need to model the receiving or sending of a particular message type.However,plans need to con-tain complex control structures involving loops,non-determinism,and choice.So far,only the planning as model checking approach has been able to provide initial solutions to the generation of such complex plans(Giunchiglia&Traverso1999).

?The planning problem cannot really be expected to take place at the level of primitive actions and con-trol structures,but seems to require to take complex plans as building blocks and synthesize multi-partner

interactions from them.We discuss this further be-low.

?The“objects”manipulated by the actions are typed messages,which have a very rich structure.A typed message may contain identi?able parts that can be ar-bitrarily complex descriptions.This resembles much more the object representations from description log-ics than the sparse objects that are used by the plan-ning community.The rich structure of the message objects is essential to specify the?ow logic and to provide mechanisms for message correlation.?Finally,we remark that in contrast to classical plan-ning,where all objects are available in the initial state and the actions change the state of objects, web services create new objects at runtime,i.e.,they produce message objects during their execution that then can be further processed by other services.It is an open problem whether this behavior can be ad-equately modeled with the currently available plan-ning techniques.

If one models Web services as action speci?cations similar to those used by AI planning,one can provide a more generic and powerful solution to the?ow compo-sition problem,i.e.,build new?ow plans from scratch (McDermott2002;Srivastava2002),but scalable algo-rithms to synthesize the required control structures are not easy to provide.Considering the BPEL4WS ex-ample,this would require to wrap the receive and invoke activities as the actions in the plan and spec-ify their pre-and postconditions in an explicit way by referring to structural properties of incoming and out-going messages and perhaps to the internal state of the BPEL4WS process.Note that no assumptions about the internal state of a partner process can be made as this information is not available.It is a fundamen-tal assumption that partners can hide and constantly modify their processes behind the standardized message exchange interfaces as exposed by Web services.

A currently very relevant problem is the following: Given the message exchange behavior of one partner, i.e.,the business protocol that he runs,construct a valid counterpart for another partner such that both can suc-cessfully communicate with each other.BPEL4WS is a very complex language for specifying business proto-cols and it is unknown how di?cult the construction of a“dual”protocol is.From a planning perspective,it is challenging how to map this problem to the classical representation involving initial states and goals.A sim-pler approach to business protocol speci?cation is the Web Services Conversation Language(WSCL)(Banerji &others2002),which uses simple UML activity dia-grams to specify a protocol.The2-partner problem can be easily solved in WSCL,but the problem be-comes di?cult again for a multi-partner scenario.The problem is also discussed in(Piccinelli&others2002) and a very preliminary solution is provided.

The decision-problem variant is also of highly prac-tical relevance:Given two or more partner protocols,can these partners successfully communicate with each other?No results are available so far.

From this discussion,it becomes apparent that the web service composition problem is very similar to the design and speci?cation of computer protocols,with the essential di?erence that the semantics of the new busi-ness protocol languages is not precisely de?ned.This major de?ciency attracts more and more critics(Staab &others2003).We see several possible candidates on which a formal semantics could be built:process alge-bras(Milner1989),automata models(Brand&Za?rop-ulo1983;Holzmann1991),and the situation calculus (Reiter1997)(recall the work in Golog that we dis-cussed above).A related issue is how to give seman-tics to the input and output speci?cation of a com-posite service where di?erent outputs can be produced only when certain complex conditions are satis?ed along some composition paths(Ankolenkar&others2002). The industry has high performance and availability requirements on Web services when they are deployed in a production environment.They want the Web ser-vices to be robust,meterable(so that service usage can be charged),secure(if needed),and veri?able.Some of these requirements are re?ected in their speci?cations like BPEL4WS and there are initial attempts to verify them using formal methods(Fu,Bultan,&Su2002). The Semantic Web has also started to look at the ver-i?cation problem of?ows.In(Narayanan&McIlraith 2002),the semantics of a subset of DAML-S is expressed in a?rst order language and Petri nets are used to sim-ulate,compose,and verify Web services.

Related Work

The literature on Web services and the Semantic Web is abundant(Staab&others2003)and the need for a more rigorous formal foundation is widely discussed. Currently,most of the work is in the description of Web services,the syntax of their?ows,and how they could be executed.In the future,it is necessary to view Web services in the context of specifying,validat-ing,and automatically synthesizing complex,reactive processes.Many areas of planning could become rel-evant in the future:the area of distributed planning (DesJardins et al.1999),planning as model checking (Giunchiglia&Traverso1999),or approaches that are between planning and the problem of synthesizing con-trollers(Barbeau,Kabanza,&St-Denis1998),just to name a few.Automata-like representations have al-ready been explored in a planning context(Dal-Lago, Pistore,&Traverso2002),but so far they were focused on the representation of goals,not actions.In HTN planning(Erol,Hendler,&Nau1994)operators can express aggregate behavior that can be further re?ned, but how to express nondeterminism and iterations in compound tasks is still an unexplored https://www.360docs.net/doc/b72052992.html,ing plan-ning for the travel domain has been demonstrated in (Ambite&others2002),where an interactive frame-work of CSP solving is used to build travel plans in conjunction with inputs from the user.However,this

approach does not involve the usage of nondeterminis-tic or iterative operators.Planning has recently been explored for generating work?ows in the Grid,but an explicit goal speci?cation must be given(Blythe&oth-ers2003).An application of regression planning to Web services is described in(McDermott2002).

Conclusion and Future Work Starting from the current interest in Web services,we explored the web service composition problem and com-pared the two major approaches to this problem—the industrial approach and the Semantic Web approach—with each other.We identi?ed several,highly relevant subproblems and related them to the AI planning per-spective.Although these problems resemble planning problems,it does not seem possible to directly apply current AI planning technology to them.We discussed the characteristics of these problems,which make them di?erent from the commonly studied planning scenarios and we identi?ed future research directions.

References

Ambite,J.L.,et al.2002.Getting from here to there: Interactive planning and agent execution for optimiz-ing travel.In Proc.IAAI.

Ankolenkar, A.,et al.2002.DAML services. https://www.360docs.net/doc/b72052992.html,/services/.

Arkin,A.,et al.2002.Web services choreography interface WSCI.https://www.360docs.net/doc/b72052992.html,/TR/wsci/. Banerji,A.,et al.2002.WSCL:The web services con-versation language.https://www.360docs.net/doc/b72052992.html,/TR/wscl10/. Barbeau,M.;Kabanza,F.;and St-Denis,R.1998.A method for the synthesis of controllers to handle safety, liveness,and real-time constraints.IEEE Transactions on Automatic Control43(22):1543–1559.

Berners-Lee,T.;Hendler,J.;and Lassila,O.2001. The semantic web.Scienti?c American,May issue. Blythe,J.,et al.2003.The role of planning in grid computing.Proc.ICAPS.

Brand, D.,and Za?ropulo,P.1983.On commu-nicating?nite-state machines.Journal of the ACM 30(2):323–342.

Christensen,E.;Curbera,F.;Meredith,G.;and Weer-awarana,S.2001.The web services description lan-guage WSDL.https://www.360docs.net/doc/b72052992.html,/software/so-lutions/webservices/resources.html.

Curbera, F.,et al.2002.Business process ex-ecution language for web services.https://www.360docs.net/doc/b72052992.html,/developerworks/webservices/library/ws-bpel/.

Dal-Lago,U.;Pistore,M.;and Traverso,P.2002. Planning with a language for extended goals.In Dechter,R.;Kearns,M.;and Sutton,R.,eds.,Proceed-ings of the20th National Conference of the American Association for Arti?cial Intelligence,447–454.AAAI Press.DesJardins,M.;Durfee,E.;Ortiz,C.;and Wolverton, M.1999.A survey of research in distributed,continual planning.AI Magazine20(4):13–22.

Erol,K.;Hendler,J.;and Nau,D.1994.UMCP:A sound and complete procedure for hierarchical task-network planning.In Hammond,K.,ed.,Proceedings of the2nd International Conference on Arti?cial In-telligence Planning Systems,249–254.AAAI Press, Menlo Park.

Fu,X.;Bultan,T.;and Su,J.2002.Formal veri?ca-tion of e-services and work?ows.Proc.ESSW. Giunchiglia, F.,and Traverso,P.1999.Planning as model checking.In Biundo,S.,ed.,Proceedings of the5th European Conference on Planning,LNAI. Springer.

Holzmann,G.1991.Design and Validation of Com-puter Protocols.Prentice Hall,New Jersey. Levesque,H.J.;Reiter,R.;Lesperance,Y.;Lin,F.; and Scherl,R.B.1997.GOLOG:A logic program-ming language for dynamic domains.Journal of Logic Programming31(1-3):59–83.

McDermott,D.2002.Estimated-regression planning for interactions with web services.In Ghallab,M.; Hertzberg,J.;and Traverso,P.,eds.,Proceedings of the6th International Conference on Arti?cial Intelli-gence Planning and Scheduling.AAAI Press,Menlo Park.

McIlraith,S.,and Son,T.C.2002.Adapting golog for composition of semantic web services.In Fensel,D.; McGuiness,D.;and Williams,M.-A.,eds.,Proceed-ings of the8th International Conference on Principles of Knowledge Representation and Reasoning,482–493. Morgan Kaufmann,San Francisco.

Milner,https://www.360docs.net/doc/b72052992.html,munication and Concurrency. Prentice Hall.

Narayanan,S.,and McIlraith,S.2002.Simulation, veri?cation and automated composition of web ser-vices.In Proceedings of the World Wide Web Con-ference.

Piccinelli,G.,et al.2002.Web service interfaces for inter-organisational business processes-an infrastruc-ture for automated reconciliation.In Proc.EDOC, 285–292.

RDF.1999.RDF:Resource description framework. https://www.360docs.net/doc/b72052992.html,/RDF/.

Reiter,R.1997.Knowledge in Action:Logical Foun-dations for Describing and Implementing Dynamical Systems.Preprint Version.

Srivastava,B.2002.Automatic web services composi-tion using planning.In Proceedings of3rd Internation Conference on Knowledge-Based Computer Systems, 467–477.

Staab,S.,et al.2003.Web services:Been there,done that?IEEE Intelligent Systems,Jan-Feb issue.72–85.

SAP开发webservice接口教程

SAP开发webservice接口教程 在client=100中进行开发: 1.创建RFC函数 SE80,在函数组下,右击->创建,创建函数模块,填写函数模块名称及描述。 2.函数属性标签页,选择“远程启用的模块”,其余默认不变。 3.函数导入标签页,需要添加调用时传入的参数(表),“传递值”需勾选。 表类型:ZSHR_EMPLOYEER_T (需要自己创建) 行类型:ZSHR_EMPLOYEER (需要自己创建)

4.函数导出标签页,需要添加调用返回的参数(表),“传递值”需勾选。 表类型:ZSHR_EMPLOYEER_OUT_T (需要自己创建) 行类型:ZSHR_EMPLOYEER_OUT (需要自己创建) 5.函数源代码标签页,需要写代码实现把传入的数据保存在透明表中。 至此,函数创建完成。 6.创建Web Services 右击包名创建企业服务,进入如下页面,选择“Service Provider”,因为我们是服务提供者,点击“继续”。

7.选择“Existing ABAP Object (Inside Out)”,点击“继续”。 8.给服务起名,并填写描述,点击“继续”

9.选择“Function Module”,点击“继续”。 10.填写我们第一步创建的函数,并勾选“Map Name”,点击“继续”。 11.SOAP Appl默认不变,Profie下拉框选择第四个选择,即不进行权限认证。点击“继续”。 12.填写对于的包和请求,点击“继续”。 下一步,直接点击“完成”。服务创建成功。

13.配置SOA 使用T-CODE:soamanager,进入web页面的SOA管理(client=100)。 14.点击“简化Web服务配置”,进入如下设置页面,点击“执行”,从列表中找到自己创建的 服务,勾选第一个checkbox,User Name/Password(basic),点击列表左上角的“保存”,之后页面右上角的“返回”按钮,返回首页。 这一步设置,代表我们只设置用户名/密码的调用认证方式。

理发店管理系统设计文档

理发店管理系统设计说明书

目录 一、文档简介 (3) 1.1 文档目的 (3) 1.2 背景 (3) 1.3 读者对象 (3) 1.4 定义 (4) 1.5 参考文献 (4) 1.6 术语与缩写解释 (4) 二、总体设计 (4) 2.1 需求规定 (4) 2.2 运行环境 (4) 2.3 物理结构示意图 (5) 2.4 总体结构图 (5) 2.5 客户端程序组成 (5) 2.6 基本设计概念和处理流程 (6) 三、接口设计 (7) 3.1 用户接口 (7) 3.2 外部接口 (8) 3.3 部接口 (8) 四、系统数据库设计 (10) 4.1 数据库环境说明 (10) 4.2 数据库的命名规则 (11) 4.3 逻辑结构设计 (11) 4.4 物理结构设计 (12) 五、系统出错处理设计 (13) 5.1 出错信息 (13) 5.2 补救措施 (14) 5.3 系统维护设计 (14)

一、文档简介 1.1 文档目的 1.编写本说明书的目的在于: (1)将系统划分成物理元素,即程序、文件、数据库、文档等。 (2)设计软件结构,即将需求规格转换为体系结构,划分出程序的基本模块组成,确定模块间的相互关系,并确定系统的数据结构。 2.本说明书的用途在于寻找实现目标系统的各种不同方案,分析员从这些可供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的物理元素,进行成本\效益分析,从中选出一个最佳方案向用户和使用部门负责推荐。如果用户和使用部门负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结构后还要进一步改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。 3.本说明书的主要读者为系统分析员和用户和使用部门的有关人员,为后面的系统开发提供依据。 作为BSS理发店管理系统设计文档的重要组成部分,本文档主要对软件后台数据库的概念模型设计和物理模型设计做出了统一的规定,同时确定了每个表的数据字典结构。本文档是开发人员实际建立BSS数据库及其数据库对象的重要参考依据。同时本文档对软件的整个系统的结构关系进行了详细的描述,并对相关容作出了统一的规定。 1.2 背景 理发店是人们日常生活中不可缺少的一部分,有一定规模的理发店具有多名理发师和众多顾客,一般情况下,当忙碌起来以后,很难记清楚每名理发师的工作量,不便于日后考核;同时大量的会员如果仅适用传统的纸质和卡片记录管理,容易出错,而且不方便统计。计算机应用技术迅猛发展,开发一套理发店的理发师和会员管理系统具有很强的现实意义。 1.3 读者对象 本文档的主要读者包括: 1.本系统的设计人员:包括模块设计人员。 2.本系统的系统开发人员:包括数据库开发、编码人员。 3.本系统的测试人员。

【WebService】接口的测试方法

【WebService】接口的测试方法 有以下多种方式: 一、通过WSCaller.jar工具进行测试: 前提:知道wsdl的url。 wsCaller可执行程序的发布方式为一个wsCaller.jar包,不包含Java运行环境。你可以把wsCaller.jar复制到任何安装了Java运行环境(要求安装JRE/JDK 1.3.1或更高版本)的计算机中,用以下命令运行wsCaller: java -jar wsCaller.jar 使用wsCaller软件的方法非常简单,下面是wsCaller的主界面: 首先在WSDL Location输入框中输入你想调用或想测试的Web Service的WSDL位置,如“https://www.360docs.net/doc/b72052992.html,/axis/services/StockQuoteService?wsdl”,然后点“Find”按钮。wsCaller就会检查你输入的URL地址,并获取Web Service的WSDL信息。如果信息获取成功,wsCaller会在Service和Operation下拉列表框中列出该位置提供的Web Service服务和服务中的所有可调用的方法。你可以在列表框中选择你要调用或测试的方法名称,选定后,wsCaller窗口中间的参数列表框就会列出该方法的所有参数,包括每个参数的名

称、类型和参数值的输入框(只对[IN]或[IN, OUT]型的参数提供输入框)。你可以输入每个参数的取值。如下图: 这时,如果你想调用该方法并查看其结果的话,只要点下面的“Invoke”按钮就可以了。如果你想测试该方法的执行时间,则可以在“Invoke Times”框中指定重复调用的次数,然后再按“Invoke”按钮。wsCaller会自动调用你指定的方法,如果调用成功,wsCaller会显示结果对话框,其中包括调用该方法所花的总时间,每次调用的平均时间和该方法的返回值(包括返回值和所有输出型的参数)。如下图:

接口自动化测试框架实例详解教程python+requests

接口自动化测试框架实例详解教程python+requests 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,这套自动化框架目前已经基本完成了,于是进行一些总结,便于以后回顾温习,有许多不完善的地方,也遇到了许多的问题,希望大神们多多指教。下面我就进行今天的主要内容吧。 1、首先,我们先来理一下思路。 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具—> 配置需要的接口参数—> 进行测试—> 检查测试结果(有的需要数据库辅助)—> 生成测试报告(html报告) 那么,我们就根据这样的过程来一步步搭建我们的框架。在这个过程中,我们需要做到业务和数据的分离,这样才能灵活,达到我们写框架的目的。只要好好做,一定可以成功。这也是我当初对自己说的。 接下来,我们来进行结构的划分。 我的结构是这样的,大家可以参考下: common:存放一些共通的方法 result:执行过程中生成的文件夹,里面存放每次测试的结果 testCase:用于存放具体的测试case testFile:存放测试过程中用到的文件,包括上传的文件,测试用例以及数据库的sql 语句 caselist:txt文件,配置每次执行的case名称 config:配置一些常量,例如数据库的相关信息,接口的相关信息等 readConfig:用于读取config配置文件中的内容 runAll:用于执行case

软件开发文档模板

软件开发文档模板 1 可行性研究报告 可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能先择的各种方案;说明论证所选定的方案。可行性研究报告的编写内容要求如下: 1.1 引言 1.1.1 编写目的 1.1.2 背景 1.1.3 定义 1.1.4 参考资料 1.2 可行性研究的前提 1.2.1 要求 1.2.2 目标 1.2.3 条件、假定和限制 1.2.4 进行可行性研究的方法 1.2.5 评价尺度 1.3 对现有系统的分析 1.3.1 数据流程和处理流程 1.3.2 工作负荷 1.3.3 费用开支 1.3.4 人员 1.3.5 设备 1.3.6 局限性 1.4 所建议的系统 1.4.1 对所建议系统的说明 1.4.2 数据流程各处理流程 1.4.3 改进之处 1.4.4 影响 1.4.4.1 对象设备的影响 1.4.4.2 对软件的影响 1.4.4.3 对用户单位机构的影响 1.4.4.4 对系统动行的影响 1.4.4.5 对开发的影响 1.4.4.6 对地点和设施的影响 1.4.4.7 对经费开支的影响 1.4.5 局限性 1.4.6 技术条件方面的可行性 1.5 可选择其他系统方案 1.5.1 可选择的系统方案 1 1.5.2 可选择的系统方案 2 …… 1.6 投资及收益分析 1.6.1 支出 1.6.1.1 基本建设投资

1.6.1.2 其他一次性支出 1.6.1.3 非一次性支出 1.6.2 收益 1.6. 2.1 一次性收益 1.6. 2.2 非一次性收益 1.6. 2.3 不可定量的收益 1.6.3 收益/投资比 1.6.4 投资回收周期 1.6.5 敏感性分析 1.7 社会条件方面的可行性 1.7.1 法律方面的可行性 1.7.2 使用方面的可行性 1.8 结论 2 项目开发计划 编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下: 2.1 引言 2.1.1 编写目的 2.1.2 背景 2.1.3 定义 2.1.4 参考资料 2.2 项目概述 2.2.1 工作内容 2.2.2 主要参加人员 2.2.3 产品及成果 2.2. 3.1 程序 2.2. 3.2 文件 2.2. 3.3 服务 2.2. 3.4 非移交产品 2.2.4 验收标准 2.2.5 完成项目的最迟期限 2.2.6 本计划的审查者与批准者 2.3 实施总计划 2.3.1 工作任务的分解 2.3.2 接口人员 2.3.3 进度 2.3.4 预算 2.3.5 关键问题 2.4 支持条件 2.4.1 计算机系统支持 2.4.2 需要用户承担的工作 2.4.3 需由外单位提供的条件 2.5 专题计划要点

开发接口文档-API文档模板

XXX项目接口文档版本控制信息 获取所有字段 获取所有字段 请求地址:/session/field/findAll 请求参数 响应

请求例子:响应例子:{"code":"10000","exception":null,"isSuccess":true,"message":"成功,系统处理正常! ","page":0,"pageSize":0,"returnObject":null,"returnValue":{"types":null,"villages":null,"companys":[{"iconColour":"","iconSize":0,"ico nStyle":"","id":4,"name":"XX"},{"iconColour":"","iconSize":0,"iconStyle":"","id":5,"name":"XX"},{"iconColour":"","iconSize":0,"iconSty le":"","id":7,"name":"XX"}]},"totals":0} 文件上传 文件上传(ajax) 请求地址:/session/file/upload 请求参数 响应 请求例子:var formData = new FormData(); ("file", [0]); $.ajax({ url : routePath + "/session/file/upload", type : 'POST', data : formData,

processData : false, contentType : false, success : function(result) { result = (result); if == "10000"){ ('上传成功!'); $("#editHeadPortrait").val } } }); 响应例子:returnValue里包含了 fileName和filePath 字段管理-所属类型 新增所属类型 请求地址:/session/fieldType/save 请求参数 响应 请求例子:响应例子:{"code":"10000","exception":null,"isSuccess":true,"message":"成功,系统处理正常!","page":0,"pageSize":0,"returnListSize":0,"returnObject":null,"returnValue":null,"totals":0}

七、python restful框架(python接口开发)

理解 1.每一个URL代表一种资源 2.客户端和服务端之间,传递这种资源的某种表现层,客户端通过四个HTTP动词 对服务端资源进行操作,实现“表现层状态转化” 资源:网络的具体信息,如图片、文字等 表现层:"资源"是一种信息实体,它可以有多种外在表现形式。我们把"资源"具体呈现出来的形式,如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现 状态转化:访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。 4个HTTP动词:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。 安装 flask restful 1.cmd输入:pip install flask,安装flask 2.cmd输入:pip install flask-restful,安装flask-restful 安装过程中会出现如下报错: You are using pip version 9.0.1, however version 19.2.3 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' comm and. 解决方法 升级pip python -m pip install --upgrade pip 注意:某些Flask版本下,引入模块时采用from flask.ext.restful import Api出错,则可以使用from flask_restful import Api 官网教程 例证 restful.py 内容: #!/usr/bin/python3 # encoding:utf‐8 from flask import Flask,request from flask_restful import reqparse, abort, Api, Resource #初始化app、api app = Flask(__name__) api = Api(app) LISTS = [

文档3 阳光数码管理系统开发计划书

阳光数码信息管理系统 开 发 计 划 书 版本号:V1.0 日期:2017年2月18日

前言 一、文档控制 1、文档更新记录 2、文档审核记录 3、文档去向记录 二、阅读提示 1、文档类别 开发计划书 2、使用对象 东软公司项目组成员 XX公司相关人员

目录 第1章引言 (1) 1.1 编写目的 (1) 1.2 背景 (1) 1.3 定义 (2) 1.4 参考资料 (3) 1.5 标准、条约和约定 (3) 第2章项目概述 (4) 2.1 项目目标 (4) 2.2 产品目标与范围 (4) 2.3 假设与约束 (4) 2.4 项目工作范围 (5) 2.5 应交付成果 (5) 2.5.1 需完成的软件 (5) 2.5.2 需提交用户的文档 (5) 2.5.3 须提交内部的文档 (5) 2.5.4 应当提供的服务 (6) 2.6 项目开发环境 (6) 2.7 项目验收方式与依据 (6) 第3章项目团队组织 (7) 3.1 组织结构 (7) 3.2 人员分工 (7) 3.3 协作与沟通 (7) 3.3.1 项目团队内部协作 (7) 3.3.2 项目接口人员 (8) 3.3.3 项目团队外部沟通与协作模式 (8) 第4章实施计划 (9) 4.1 风险评估及对策 (9) 4.2 工作流程 (9) 4.3 总体进度计划 (10)

4.4 项目控制计划 (11) 4.4.1 质量保证计划 (11) 4.4.2 进度控制计划 (12) 4.4.3 预算监控计划 (12) 4.4.4 配置管理计划 (12) 第5章支持条件 (13) 5.1 内部支持 (13) 5.2 客户支持 (13) 5.3 外包(可选) (13) 第6章预算 (14) 6.1 人员成本 (14) 6.2 设备成本 (14) 6.3 其它经费预算 (14) 6.4 项目合计经费预算 (14) 第7章关键问题 (15) 第8章专题计划要点 (16) 第9章词汇表 (17) 参考文献 (18)

最新服务器基础知识(初学者必看)

服务器基础知识【初学者必看】 1. 什么是服务器 就像他的名字一样,服务器在网络上为不同用户提供不同内容的信息、资料和文件。可以说服务器就是Internet网络上的资源仓库,正是因为有着种类繁多数量庞大内容丰富的服务器的存在,才使得Internet如此的绚丽多彩。 2. 服务器的种类和功能 (1) WWW服务器(WWW Server) WWW服务器也称为Web服务器(Web Server)或HTTP服务器(HTTP Server),它是Internet上最常见也是使用最频繁的服务器之一,WWW服务器能够为用户提供网页浏览、论坛访问等等服务。比如:我们在使用浏览器访问https://www.360docs.net/doc/b72052992.html,的时候,实际上就是在访问Discuz!的WWW服务器,从该WWW服务器获取需要的论坛资料和网页。 (2) FTP服务器(FTP Server) FTP服务器是专门为用户提供各种文件(File)的服务器,FTP服务器上往往存储大量的文件,例如:软件、MP3、电影、程序等等。用户只要使用FTP客户端软件登录到FTP服务器上就可以从FTP服务器下载所需文件和资源到自己的电脑上,同时,

你也可以把自己电话上的文件上传到FTP上供其他用户下载,以实现文件资源的共享。 (3) 邮件服务器(Mail Server) e-mail是Internet上应用最频繁的服务之一,而Internet上每天数亿百亿计的电子邮件的收发都是通过邮件服务器实现的。邮件服务器就像邮局一样,可以为用户提供电子邮件的接收存储和发送服务。 除了以上介绍的3种主要服务器之外,还有很多其他类型的网络服务器,例如:数据库服务器(DatabaseServer)、代理服务器(Proxy Server)、域名服务器(Domain Name Server)等等…… 3. 服务器的操作系统 目前服务器中使用的操作系统主要有两类:Windows和Unix。 (1) Windows Windows是美国微软公司(Microsoft)开发的操作系统,在服务器领域,主要有Windows2000Server/Advanced Server/Data Center与Windows2003 Standard Edition/EnterpriseEdition操作系统,Windows的优点是操作简 单,由于Windows使用图形界面进行操作,因而对各种服务器软件功能配置简

ESB部署WebService接口(统一用户和待办)

1 统一待办(WebService方式) 1.1 概述 门户系统做为用户访问各集成应用系统的统一入口,用户访问企业内部信息资源时只需要登录到门户系统,就可使用门户系统集成的各个应用,而待办做为各系统中用户需要处理的工作,门户系统需要提供收集建投内部应用系统中产生的待办信息,并且进行统一展现的功能,即统一待办功能。 统一待办应用业务涉及到的系统其中包括本期门户系统建设过程中所需集成的OA、WCM、EAM系统。 为保证门户系统接入各应用系统待办信息的规范性,现就各应用系统接入实现做统一要求,以确保门户系统统一待办功能实现的规范性、重用性及安全性。不满足本技术方案提供的接入规则的相关应用系统,应参考本文档完成对应用系统改造后方可进行门户系统统一待办接入工作。 统一待办实现共分为以下部分: 系统待办信息获取 系统待办信息展示 系统待办信息处理 1.2 待办信息获取 设计思路:应用系统通过门户系统提供的webservice接口向门户系统统一待办系统库写入代表信息,如下图

数据获取设计示意图 步骤如下: 1.应用系统需获得最新的待办信息。 2.应用系统通过门户接口,将获得的最新待办信息发送到门户系统。 3.统一待办系统将应用系统提供的待办信息展示给用户。 4.应用系统通过调用集成接口后获得信息,可以判断发送信息操作是否正常。 1.3 待办信息展示 设计思路:应用系统将最新的待办信息发送到统一待办系统中,并最终展示到门户首页上的待办栏目上,如下图 用户 待办栏目页面 待办集中展示设计示意图 场景如下:

在所有的待办类标题前加上”请办理”,待阅类标题前加上”请审阅”。此外,如果信息是未办或者未阅,用红色表示 1.4 待办信息处理 设计思路:用户点击门户系统上“待办栏目”里的一条待办时,弹出一个新页面,首先同应用系统实现SSO,然后跳转到应用系统的待办页面,完成待办处理后,由应用系统调用门户接口通知门户系统,并关闭弹出的待办处理页面,门户系统负责即时刷新门户待办页。如下图: 待办信息集中处理设计示意图

OA协同办公管理系统开发文档资料讲解

O A协同办公管理系统 开发文档

OA协同办公管理系统 开发文档

目录 第一章引言 (4) 1.1编写目的 (4) 1.2 背景及其范围 (5) 1.3名词解释 (5) 第二章项目概述 (6) 2.1 系统功能概述 (6) 2.2 主要外部接口 (6) 2.3 系统运行环境 (6) 2.4 支持用户端 (6) 2.5 系统开发环境 (7) 2.6 支持软件 (7) 2.7 开发过程 (7) 2.8 用户特点 (7) 第三章功能需求 (8) 3.1 前台框架草图 (8) 3.2 用户帐户管理 (8) 3.3 我的办公桌 (9) 3.4 公共事务 (10) 3.5 在线考试 (11) 3.6 财务管理 (11) 3.7 人力资源 (12) 3.8 附件程序 (13) 3.9 企业文档 (13) 3.10 企业信息管理 (14) 3.10 系统设置 (15)

第一章引言 1.1编写目的 计算机技术、网络技术已经渗透到单位的日常工作中,大量的公文、报告、报表、数据等各类信息量越来越大,涉及到的部门、合作伙伴越来越广泛。传统的手工处理方式,文件、报表的传递方式和信息的利用方式已经不能满足单位发展的需要,影响了单位领导的决策和业务的发展,迫切需要利用已经拥有的计算机、网络资源,实现单位的信息化,加快内部的信息流通与信息的有效利用。 从大部分单位的现状来看,虽然迫切需要实现信息化,但是,单位的许多现实情况制约单位信息化的发展,主要的问题有: ?没有合适的应用软件虽然拥有一定数量的计算机设备和网络设备,但是没有支持网络运行的应用软件,即使建成内部的计算机网络,也没有改善信息化应用的状态。一些部门和业务购买通用的业务管理软件,一定程度上实现个别业务的信息化,解决了部门的一些问题,但是,对单位管理者而言,得到的信息很少,没有发挥出计算机网络系统的作用。 ?技术队伍匮乏很多单位没有专门的信息管理部门和专职的技术人员,缺乏对单位信息化建设的规划和信息应用系统的管理。 ?信息化建设的目标不明确信息化建设对每一个单位来讲都是新事物,不知道如何才能够实现信息化,不清楚第一步该如何走。 ?偏重于业务信息系统的建设,对管理和辅助决策分析系统的建设投入不够,使计算机系统的建设停留在数据处理阶段,没有上升到信息资源利用的高度。 ?无法直接从各级、各类业务信息系统中采集数据,并加以综合利用。 ?大部分员工的计算机应用水平比较低。

WebService接口代码样例说明

WS接口代码样例 Java代码调用样例 参见WSTest_for_Java.rar附件,该附件为Eclipse工程代码。接口调用参见https://www.360docs.net/doc/b72052992.html,info.smsmonitor.Test C代码调用样例 参见WSTest_for_c.tar附件,该附件为标准C工程代码。 附录 Webservice消息发送接口报文样例: TaskID-003761653 8613301261178 106557503 1 This is test message 1 00:00-23:59

接口测试总结文档

接口测试的总结文档 第一部分:主要从问题出发,引入接口测试的相关内容并 与前端测试进行简单对比,总结两者之前的区别与联系。 但该部分只交代了怎么做和如何做?并没有解释为什么要 做? 第二部分:主要介绍为什么要做接口测试,并简单总结接 口持续集成和接口质量评估相关内容。 第一部分: 首先,在做接口测试的过程中,经常有后端开发会问: 后端接口都测试什么?怎么测的? 后端接口测试一遍,前端也测试一遍,是不是重复测试了? 于是,为了向开发解释上述问题,普及基本的测试常识, 特意梳理了接口测试的相关内容以及其与前端测试的区别, 使开发团队与测试团队在测试这件上达成基本的共识,提 高团队协作效率,从而更好的保证产品质量。 然后,我们试着回答上面的问题: 问题1.1、后端接口都测试什么? --回答这个问题,我们可以从接口测试活动内容的角度下手, 看一下面这张图,基本反应了当前我们项目后端接口测试的主 要内容:

问题1.2、我们怎么做接口测试? --由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、 java+httpclient、robotframework+httplibrary等。 问题2、后端接口测试一遍,前端也测试一遍,是不是重复测试了? --回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:

从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。接下来我们针对以上三部分相同的内容再进行分析: 1、基本功能测试: 由于是针对基本业务功能进行测试,所以这部分是两种测 试重合度最高的一块,开发同学通常所指的也主要是这部 分的内容。 2、边界分析测试: 在基本功能测试的基础上考虑输入输出的边界条件,这部 分内容也会有重复的部分(比如业务规则的边界)。但是,

软件开发技术文档编写规范

软件开发技术文档编写规范 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。 ◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 ◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。 ◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。 ◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。 ◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。 ◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。 ◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。 ◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。 ◇开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。 ◇项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。 ◇软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。 ◇软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。 ◇软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。 1可行性分析报告 1 引言 1.1 编写目的:阐明编写可行性研究报告的目的,提出读者对象。

常用的webservice接口

商业和贸易: 1、股票行情数据WEB 服务(支持香港、深圳、上海基金、债券和股票;支持多股票同时查询) Endpoint:https://www.360docs.net/doc/b72052992.html,/WebServices/StockInfoWS.asmx Disco:https://www.360docs.net/doc/b72052992.html,/WebServices/StockInfoWS.asmx?disco WSDL:https://www.360docs.net/doc/b72052992.html,/WebServices/StockInfoWS.asmx?wsdl 支持香港股票、深圳、上海封闭式基金、债券和股票;支持多股票同时查询。数据即时更新。此中国股票行情数据WEB 服务仅作为用户获取信息之目的,并不构成投资建议。支持使用| 符号分割的多股票查询。 2、中国开放式基金数据WEB 服务 Endpoint:https://www.360docs.net/doc/b72052992.html,/WebServices/ChinaOpenFundWS.asmx Disco:https://www.360docs.net/doc/b72052992.html,/WebServices/ChinaOpenFundWS.asmx?disco WSDL:https://www.360docs.net/doc/b72052992.html,/WebServices/ChinaOpenFundWS.asmx?wsdl 中国开放式基金数据WEB 服务,数据每天15:30以后及时更新。输出数据包括:证券代码、证券简称、单位净值、累计单位净值、前单位净值、净值涨跌额、净值增长率(%)、净值日期。只有商业用户可获得此中国开放式基金数据Web Services的全部功能,若有需要测试、开发和使用请QQ:8698053 或联系我们 3、中国股票行情分时走势预览缩略图WEB 服务 Endpoint: https://www.360docs.net/doc/b72052992.html,/webservices/ChinaStockSmallImageWS.asmx Disco: https://www.360docs.net/doc/b72052992.html,/webservices/ChinaStockSmallImageWS.asmx?disco WSDL: https://www.360docs.net/doc/b72052992.html,/webservices/ChinaStockSmallImageWS.asmx?wsdl 中国股票行情分时走势预览缩略图WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。返回数据:2种大小可选择的股票GIF分时走势预览缩略图字节数组和直接输出该预览缩略图。 4、外汇-人民币即时报价WEB 服务 Endpoint: https://www.360docs.net/doc/b72052992.html,/WebServices/ForexRmbRateWebService.asmx Disco:https://www.360docs.net/doc/b72052992.html,/WebServices/ForexRmbRateWebService.asmx?disco

软件开发设计文档模板

软件文档编写指南 封面格式: 文档编号 版本号 文档名称: 项目名称: 项目负责人: 编写年月日 校对年月日 审核年月日 批准年月日 开发单位 系统规约说明书(System Specification) 一.引言 A.文档的范围和目的 B.概述 1.目标 2.约束 二.功能和数据描述 A.系统结构 1.结构关系图 2.结构关系图描述 三.子系统描述 A.子系统N的结构图规约说明 B.结构字典 C.结构连接图和说明 四.系统建模和模拟结构 A.用于模拟的系统模型

B.模拟结果 C.特殊性能 五.软件项目问题 A.软件项目可行性研究报告 B.软件项目计划 六.附录 软件项目可行性研究报告(Report for Feasibility Study) 一.引言 1.编写目的(阐明编写可行性研究报告的目的,指出读者对象) 2.项目背景(应包括:(1)所建议开发的软件名称;(2)项目的任务提出者、开发者、用户及实现单位;(3)项目与其他软件或其他系统的关系。) 3.定义(列出文档中用到的专门术语的定义和缩略词的原文。) 4.参考资料(列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。)二.可行性研究的前提 1.要求(列出并说明建议开发软件的基本要求,如(1)功能;(2)性能;(3)输出;(4)输入;(5)基本的数据流程和处理流程;(6)安全与保密要求;(7)与软件相关的其他系统;(8)完成期限。) 2.目标(可包括:(1)人力与设备费用的节省;(2)处理速度的提高;(3)控制精度和生产能力的提高;(4)管理信息服务的改进;(5)决策系统的改进;(6)人员工作效率的提高,等等。) 3.条件、假定和限制(可包括:(1)建议开发软件运行的最短寿命;(2)进行系统方案选择比较的期限;(3)经费来源和使用限制;(4)法律和政策方面的限制;(5)硬件、软件、运行环境和开发环境的条件和限制;(6)可利用的信息和资源;(7)建议开发软件投入使用的最迟时间。) 4.可行性研究方法 5.决定可行性的主要因素 三.对现有系统的分析 1.处理流程和数据流程 2.工作负荷 3.费用支出(如人力、设备、空间、支持性服务、材料等项开支。) 4.人员(列出所需人员的专业技术类别和数量。) 5.设备 6.局限性(说明现有系统存在的问题以及为什么需要开发新的系统。) 四.所建议技术可行性分析 1.对系统的简要描述 2.处理流程和数据流程 3.与现有系统比较的优越性 4.采用建议系统可能带来的影响 (1)对设备的影响 (2)对现有软件的影响

(仅供参考)服务器硬件入门基础知识

服务器硬件入门基础知识 开篇一:服务器主板 服务器主板概述 对于服务器而言,稳定性才是首要,服务器必须承担长年累月高负荷的工作要求,而且不能像台式机一样随意的重起,为了提高起可靠性普遍的做法都是部件的冗余技术,而这一切的支持都落在主板的肩上。下面我就来看看有关服务器主板的一些特性: 1、首先,服务器的可扩展性决定着它们的专用板型为较大的ATX,EATX或WATX。 2、中高端服务器主板一般都支持多个处理器,所采用的CPU也是专用的CPU。 3、主板的芯片组也是采用专用的服务器/工作站芯片组,比方Intel E7520、ServerWorks GC-HE等等,不过像入门级的服务器主板,一般都采用高端的台式机芯片组(比如Intel875P芯片组) 4、服务器通常要扩展板卡(比如如网卡,SCSI卡等),因此我们通常都会发现服务器主板上会有较多的PCI、PCI-X、PCI—E插槽。 5、服务器主板同时承载了管理功能。一般都会在服务器主板上集成了各种传感器,用于检测服务器上的各种硬件设备,同时配合相应管理软件,可以远程检测服务器,从而使网络管理员对服务器系统进行及时有效的管理。

6、在内存支持方面。由于服务器要适应长时间,大流量的高速数据处理任务,因此其能支持高达十几GB甚至几十GB的内存容量,而且大多支持ECC内存以提高可靠性(ECC内存是一种具有自动纠错功能的内存,由于其优越的性能使造价也相当高)。 7、存储设备接口方面。中高端服务器主板多采用SCSI接口、SATA接口而非IDE接口,并且支持RAID方式以提高数据处理能力和数据安全性。 8、在显示设备方面。服务器与工作站有很大不同,服务器对显示设备要求不高,一般多采用整合显卡的芯片组,例如在许多服务器芯片组中都整合有ATI的RAGE XL显示芯片,要求稍高点的就采用普通的AGP显卡。而如果是图形工作站,那一般都是选用高端的3DLabs、ATI等显卡公司的专业显卡。 9、在网络接口方面。服务器/工作站主板也与台式机主板不同,服务器主板大多配备双网卡,甚至是双千兆网卡以满足局域网与Internet的不同需求。 10、最后是服务器的价格方面。一般台式机主板顶天也不过1、2千,而服务器主板的价格则从1千多元的入门级产品到几万元甚至十几万元的高档产品都有! 推荐品牌:泰安、超微、Intel 开篇二:服务器CPU 服务器CPU概述 服务器是网络中的重要设备,要接受少至几十人、多至成千上万人的访问,因此对服务器具有大数据量的快速吞吐、超强的稳定性、长时间运行等严格要求。所以说CPU是计算机的“大脑”,是衡量服务器

消息管理系统开发文档

消息管理系统设计与开发文档 开发背景 XXX科技有限公司是一家以计算机软件维护、硬件维修为主的公司,随着公司规模的不断壮大,工作人员也在逐渐增多。开发一款消息管理系统已成为一个亟待解决的问题。该系统可以帮助企业快速地进行日常事务管理,大幅度提高员工的办公效率,方便员工内部交流,还可以方便员工和管理层的交流。 系统需求 随着中小企型企业的不断发展,企业内部员工的沟通就显得非常重要,通过一个消息管理系统就能很好的解决沟通困难的问题了,它可以在员工不访问外网的情况下进行发布消息、查看消息、回复消息等功能。这样可以大大加强员工与员工的工作交流。 功能分析 对企业内部网站来说,住处的即时性是要考虑的最大问题。每个人都可以发布自己的消息,其他人员可以通过刷新网站的方式来看到最新的消息,可以以对发表的消息进行回复。各角色的具体功能如下: 普通员工: 登录系统 发布消息 查看消息 回复消息 系统管理员: 登录系统 用户管理 消息管理 数据库分析与设计: 在开发消息管理系统时,考虑到中小弄企业的需求,项目开发成本以及维护成本,本系统将采用mysql5.0数据库,数据库名为db_message。数据库共3张表,用来存储不同的信息。员工信息表、消息表、消息回复表。这样本系统的信息就全部存储下来了。 实体分析 用户/员工 消息 消息回复

图1(员工实体) 图2(消息实体) 图3(消息回复实体)实体对应的表

建表: --创建人员表t_emp create table t_emp( emp_id varchar(40), emp_name varchar(60), emp_sex int, emp_birth date, emp_phone varchar(20), emp_address varchar(100), join_time date, password varchar(30), is_mgr int default 0, constraint t_emp_id_pk primary key(emp_id) ); --创建消息表 create table t_message( message_id INT(20) not null AUTO_INCREMENT, message_title varchar(100), message_content text,

相关文档
最新文档