Enabling SLA monitoring for component-based SOA applications
|
|
|
- Dulcie Marshall
- 10 years ago
- Views:
Transcription
1 Enabling SLA monitoring for component-based SOA applications Cristian Ruz, Françoise Baude INRIA Sophia Antipolis, CNRS, I3S, Univ. de Nice Sophia Antipolis 2004 Route des Lucioles, BP93, F Sophia-Antipolis CEDEX, France Abstract This work contributes to the research of how to define a framework that can be plugged to a component-based SOA application to provide SLA monitoring for performance. We define a low intrusive Monitor Controller that listen to asynchronous notifications about the performance of the monitored application, and stores that data in a scalable way. The approach allows flexibility as it defines the Monitor Controller as a non-functional component bound to the monitored entities, and exposing the monitored data through a non-functional interface. A proof-of-concept implementation is described, showing the feasibility of this approach over a middleware that provides asynchronous communication between consumers and providers over a grid environment, and which also serves as a platform for a large-scale SOA. Index Terms grid computing; SLA; SOA; monitoring; SCA; QoS; I. INTRODUCTION In service provisioning relationships, contracts relating to Quality of Service (QoS) are agreed in the form of a Service Level Agreement (SLA). This agreement establishes parameters that are to be met during the service. To watch the fulfillment of this contract, these parameters must be monitored through techniques that allow for SLA monitoring [1]. SLA monitoring has several implications for the management of a runtime service. One of them is that it allows to determine if the provider is behaving accordingly to the contract, and in case it does not, expose the required information to take corrective actions. Another use for the monitored information is when performing dynamic recomposition. Monitored data can feed the information required during the dynamic recomposition of a service, based on a desired QoS [2]. Given a previoulsy agreed SLA, we are interested in being able to monitor the compliance of the provider to this agreement. Although there are several aspects related to SLA monitoring, like provenance and security, we point specifically to performance monitoring, that is, the time that a given service takes to answer the requests that it receives. One way to implement SLA monitoring in an architecture, is through the insertion of probes or counters in critical parts of the architecture, to measure the time that the service takes to execute a request. This information can be complemented with rules defined to be executed in the case that the monitored parameters do not behave accordingly to the desired values, to provide autonomic management [3], [4]. In this work we present a framework to add SLA monitoring capabilities to a component-based application built on the principles of SOA. Our solution enables to monitor the performance of a component, and obtain information that can be used by another, possibly autonomic, component to take decisions about the compliance of the monitored component to an SLA, or allow an external application to provide meaningful information to a human agent. While we focus in performance monitoring, the approach can also be applied to other aspects of SLA monitoring like, for instance, provenance and security. We demonstrate the feasibility of this SLA monitoring framework, through a proof of concept implementation in a middleware that provides asynchronous services over a grid environment, and also serves as a platform for large-scale SOA. The following sections are organized as follow. Section II describes the context and positions our work. Section III describes our proof of concept implementation and the platform used. Section IV mentions some examples of how our solution can be used, and discusses performance issues. Section V presents related work, and finally section VI draws the conclusions. II. POSITIONING OF CONTRIBUTION Service Oriented Architectures (SOA) allow to separate the different concerns in large-scale enterprise applications, through the definition of independent and loosely coupled services that can be accessed in an standardized way. Services in a SOA environment inter-operate using a formal definition of interfaces. This way, services can be defined in a manner that is independent of the underlying platform or programming language. Individual services can be dynamically composed into workflows to form more complex applications. Common technologies used for implementing a SOA environment are Web Services described using Web Services Description Language (WSDL), and Business Process Execution Language (BPEL) for describing business processes and workflows. UDDI for discovery of services, and SOAP for communication. In this work, we consider an SOA application implemented according to the Service Component Architecture (SCA) [5]. SCA is a specification for designing and building SOA applications, in which services and workflows are modeled as components, called SCA components. SCA defines a hierarchical
2 Fig. 1. SCA composite component embedding two components component model that is independent of the technology used to implement these components. SCA components can have any number of interfaces, named SCA Services, and dependencies, called SCA References to other SCA services. Dependencies between two SCA components are called SCA bindings, and several SCA components can be grouped into bigger SCA composites that hide their inner structure from the outside, and which can be handled in the same way as any other SCA component. One example and the common notation is shown in Fig.1. Some examples of SCA implementations are Apache Tuscany [6], IBM Websphere Application Server [7], and FraS- CAti [8]. An SCA-based SOA can potentially be composed of a wide number of services forming a complex workflow. These services can themselves be widely spread on a distributed environment like a grid or the Internet. We consider in our design to we have a large-scale SCA-based SOA. There are several concerns we considered when designing our monitoring framework for large-scale SCA-based SOA. Dynamicity. SOA environments are highly dynamic. Provisioning relationships can change during the lifetime of a service or workflow. Therefore, tools must be able to adapt to these dynamicity. Our framework monitors a component-based SOA application that can adapt to changes in the runtime architecture. Scalability. In a large-scale application, to be able to monitor the performance of individual components, and make that information available to make decisions, we must store the collected data in a scalable way that also makes it easy to access. For that concern we use distributed storage of monitoring information in the involved components. Low intrusiveness. Monitoring has a cost in terms of performance, as some fraction of the computational power must be dedicated to collect and process the data. In our approach we use an asynchronous environment, where the management of the monitored data can be done in a way that does not block unnecessarily the service. Moreover, the environment is flexible enough to allow that, given the necessity, the data can be processed remotely. External entities. Existing works [9] analyze the situation of component-based applications where an SLA can be split among all components, managing non-functional concerns at different levels. That work considers that all components of the application, which can be seen as services in a SCA-based SOA, can be managed by means of autonomic managers attached to the components. Our approach aims to extend this situation by considering the existence of services implemented by components over which we do not have control, because they are provided by external entities. In that case we also need to take performance measures, to be able to track a perceived response time in order to watch the compliance to the SLA. In the next section we describe the solution that we have designed, where these concerns are taken into account. III. DESIGN AND IMPLEMENTATION OF THE SOA MONITORING SOLUTION We describe the design of out SOA monitoring solution. For the implementation we have chosen the GCM/ProActive middleware, so we also give the necessary background on this tool. A. ProActive The ProActive Grid Middleware [10] is a Java middleware which aims to achieve seamless programming for concurrent, parallel and distributed computing, by offering an uniform active object programming model, where these objects are remotely accessible via asynchronous method invocation and futures. ProActive provides means of notifying events by providing an asynchronous and grid enabled JMX connector [11]. Active objects are instrumented with MBeans which provide notifications about events at the implementation level. This way, monitoring information from the active objects, and from the grid infrastructure levels is exposed. We rely upon this JMX- ProActive mechanism, as it can handle grid-scale, large-scale monitoring information collection and notifications. B. GCM The Grid Component Model (GCM) [12] is a component model for grids, that takes the Fractal component model [13] as a base for its specification. Fractal defines a component model where components can be hierarchically organized, reconfigured, and controlled. GCM extends that model providing the components the possibility to be remotely located and deployed in a grid environment. In GCM it is also possible to have a componentized membrane [14] that allows the existence of non-functional components. Having non-functional components allows to have a more flexible control of non-functional concerns, and develop more complex implementations [15]. Non-functional components can be accesed through NF server interfaces and can bind to other components through NF client interfaces. GCM/ProActive is the reference implementation of GCM. Being built over an active object environment, the GCM/ProActive platform provides asynchronous communications, which poses more challenges for monitoring events.
3 Fig. 2. Example GCM component A, including subcomponent B and C. The membrane takes care of non-functional concerns, and can include NFcomponents. Fig.2 shows an example of a GCM component, with a composite component including two subcomponents. The composite appears to other external components as any other primitive component, hiding the details of its internal composition. When receiving a request through a server interface, the composite forwards the request to the internal component bound to that interface. In a similar way, when an internal component wants to communicate to an external component, it must do it through a call to the composite, which forwards the request to the bound component. This way, the composite abstract the internal implementation. This fact is used by our solution when describing how to store the monitored data. Current work exists for giving an SCA personality to GCM components, so that GCM/ProActive can serve also as a runtime SCA infrastructure, being a valid platform to support our SLA monitoring solution. C. Monitor Controller At the implementation level of GCM/ProActive we already have some information available through the JMX-ProActive connector. We aim to leverage this information at the level of components, storing it, and make it available for other components or applications. For this objective, we rely on non-functional components, also referred to component controllers, introduced in the membrane of GCM components. These component controllers give more flexibility, as they can be easily reused, and be assembled with other component controllers to further customize the monitoring process [15]. At the component level, we implement a specialized component controller, called the Monitor Controller (MC). Being a component controller, the MC is inserted in the membrane of a GCM component as shown in Fig.3. The mission of the MC is: Collect monitoring information by subscribing to the required MBean, and listening to appropriate events, and computing statistics. Store the important information of the events. Expose this information for later consulting and use. D. Collecting information and statistics We are interested in detecting events that allow to determine the performance of the services. In GCM/ProActive, we must Fig. 3. Location of Monitor Controller in the membrane of a GCM composite A. The MC is connected to MC interfaces of subcomponents through NFbindings consider that components are implemented by active objects, which provide asynchronous communication. Because of this, each component has its own request queue where incoming requests are stored for being processed according to a defined policy. Moreover, asynchronism is provided through the use of futures; that means that when a request is sent to a service, the response received is not the actual response, but a placeholder where the response is to be stored once the service effectively has taken place. Because of this, care must be taken to detect the moment when the real answer for a request has been received and not just a partial update. We collect two kinds of events. Events that happen in the caller side, this is, the component that issues the request, and in the provider side, this is, the component that receives and serves the request. By monitoring both sides of the service we can determine, on the caller side, the service time perceived by the caller, where not only the effective time of service takes part, but also network latency can be involved. On the provider side, whenever that component can be monitored (as could be an external service over which we do not have any control), it allows to determine the effective time taken by the service, associate chains of requests, and trace service paths, where several components may be involved. We detect events on both sides by subscribing to the appropiate MBeans and listening the JMX notifications generated. For each notification, the timestamp and attached information are stored. These timestamps are used to determine the timing data for each request. At the provider side, we detect the following events: t arr, the moment when a request is received by the component and stored in its request queue for later processing. t serve, the moment when a request is taken from the request queue, and begins to be served. t reply, the moment when the provider sends a reply to the caller, regarding a finished request, if any reply was expected. For void requests, this is not issued. At the caller side, we detect: t send, the moment when the caller sends a request to the provider
4 TABLE I STATE OF A S CALL LOG, AND B S REQUEST LOG AFTER EXECUTING THE EXAMPLE OF FIG.4. COMPONENT A IS ASSUMED TO BE SERVING A REQUEST WITH IDENTIFIER r 0 DURING THE CALL TO B Call Log A parent current dest interface method t send t recv r 0 r 1 B p p Request Log B id caller interface method t arr t serve t reply r 1 A p p Fig. 4. Events captured during the asynchronous service of request call p() from component A to B t recv, the moment when the caller receives a response from the provider, if a reply was expected. As we deal with asynchronous requests, the caller may have been doing some other work when the reply arrives. Also we have to be sure that this answer is a definitive reply, in the sense that by using it we don t have to block for another reply. In GCM, components can be located in different places in a transparent way. Even a composite component can have some or all of their subcomponents located remotely. Given this situation, it is worth noting that the timestamps compared are always related to events that happen in the same pyhsical node, so the differences are meaningful. Fig.4 shows the events that are detected during the service of a request. As well as the events are collected, the Monitor Controller computes statistics like average, maximum or minimum response time, availability or throughput. These statistics are updated during the event collection, so they are readily available. E. Storing information For each of the events, we store the name of both the receiver and sender components, the interface and method called. This information is included in the notification generated by the middleware implementation, so that the Monitor Controller can receive it. The Monitor Controller keeps two logs: the Request Log and the Call Log. The Request Log stores tuples that represent a request that arrives to the component through a server interface. It includes an identifier for the incoming requests, an identifier of the sender component, the interface and method called, and the timestamps for the events t arr, t serve and t reply. There is one entry on this log for each request received by the component. The Call Log stores tuples that represent a new request called by the component on a client interface. It includes the identifier of the request that was being served when the new request was issued, this is, the parent request; a new identifier for the request that has been called, the identifier for the called component, the interface and method called, and the timestamps for the events t send and t recv. By keeping both logs, it is possible to construct the path followed by the request. Each time that a new request is issued, an identifier for the new request is created, stored in the Call Log and transmitted. This way a causality relationship can be established. Table I displays an example of the content of the logs, after the execution of the example from Fig.4. In this case, we assume that component A was serving a request with identifier r 0 while it made the call to component B, with identifier r 1. In that example, the component A perceived a response time from B of 20ms. Component B received the request, kept it in the request queue during 3ms, and took 11ms to serve it. The total service time taken by B was 14ms. The 6ms. difference can be caused by network propagation. Note that each component stores its logs in an independent way. Following the hierarchical nature of the composition of GCM components, the MC of the composite stores the aggregated information of all the requests that go through the composite. This means, the requests that have entered by a server interface, and the requests that have been generated through a client interface. All data related to the internal serving of the request is stored in the MC of the involved inner subcomponents. Whenever those data are required, the MC of the composite can make non-functional calls to the MC of the subcomponents like can be pointed in Fig.3. This strategy avoids the problem of having the same information stored several times and improves scalability. Even more, the MC can be located in a different place than the monitored component, relying on the asynchronous JMX-ProActive notifications to receive the events. F. Exposing information The information stored through the MCs must be exposed to be of utility. The interested recipients for the collected data can be other MCs, which can belong to inner components of a composite, or to external components; and external applications that may want to do further analysis. The MC must provide access to the raw logs stored in the component, as well as more detailed information that could
5 require additional processing. For example, the average, maximum or minimum service time for this component, availability percentage, or throughput. For all these statistics, a filter can be applied to refer to an specific interface, a defined window of time, or a set of requests. Section IV-B gives more detail about that. This information is exposed in two ways. The first is through a non-functional server interface. This allows that another component, which can be the MC of a composite to which the current component belongs (Fig.5), or well another external non-functional component (Fig.6), can connect to it to obtain the data it requires. The second way to expose is for another external application, not necessarily component-based which can be used to do further analysis over the data collected, or expose it in a more meaningful, possibly graphical way. For this, a specialized MonitorController MBean is created, which can be connected through JMX standard means by using the JMX-ProActive connector. IV. MONITORED DATA USAGE From the basic monitored data stored by the Monitor Controllers, more complex data can be obtained. We describe two possible uses, and show an example of a more complete situation. MC of composite A connects to MC interfaces of inner subcompo- Fig. 5. nents. A. Service Invocation Tracking Monitored data can be used to track the service invocation path of a specific request, and obtain the time spent in each component involved in the service. This kind of decomposition, typical in profiling applications, can be used to detect critical points in the service of the request where performance could be failing, or to determine services utilised in a request for pricing goals. Using the Monitor Controllers of the components, tracking information can be obtained. By using the information stored in the logs, the path of the request and its child request can be followed, forming a calling tree. This calling tree can be enriched by statistics associated to each request. However, the logs are distributed through several components, which is an advantage from the scalability point of view, but poses a challenge for path reconstruction, as the MC of different components must communicate. We solve this by benefiting of NF bindings allowed by GCM [15]. In this context two situations arise. When a component receives a request, it can serve it by itself using internal means, or by calling subcomponents in the case it is a composite. For tracking that request, the MC of the composite must talk to the MC of the inner subcomponents. This can be done using internal NF bindings as shown in Fig.5. An example of how stored logs can be used to reconstruct the service invocation path of a request is presented in Section IV-C. If the component requires another external component to serve a request, then it is necessary to connect to the MC interface of this external component. To solve this situation, a Fig. 6. Component A uses a NF client interface to connect to the MC interface of external component B client NF interface of the caller component is used to connect to the MC interface of the called component. We define that such NF binding is done each time that a regular functional binding is set between two components. This situation can be seen in Fig.6. After the execution path has been retrieved, the aggregated information can be stored inside the MC for later use, so it remains ready to be required again from another component or external application, avoiding to perform the tracking several times. B. Filtering Statistics In case when more complex processing is required from the statistics, we can profit of the flexibility provided by the non-functional components present in the membrane of GCM components. Further processing could include filtering. As already stated, the Monitoring Controller provides, through an interface, basic statistics like average, maximum, and minimum service time that are computed and updated while new request are processed and the related events are detected. Another application could require filtering these statistics to include only a specific interface or method inside an interface, a defined window of time, or a set of request according to some property. The Monitor Controller can be extended to include these filter capabilities while exposing the appropriate non-functional
6 TABLE II STATE OF THE CALL AND REQUEST LOGS AFTER EXECUTING THE EXAMPLE OF FIG.7. WHILE SERVING r 0, COMPONENT B MAKES TWO CALLS TO D. TIMES ARE DISPLAYED IN SECONDS. Call Logs CallLog parent id. dest intf. meth. t send t recv Z - r 0 A p p A r 0 r 1 B p p A r 3 r 4 E u u A r 6 r 7 F v v B r 1 r 2 D s s B r 1 r 5 D s s D r 2 r 3 A u u D r 5 r 6 A v v Request Logs RLog id caller intf. meth. t arr t serve t reply A r 0 Z p p A r 3 D u u A r 6 D v v B r 1 A p p D r 2 B s s D r 5 B s s E r 4 A u u F r 7 A v v interface. If required, another non-functional component can be bound to the Monitor Controller to execute this postprocessing, thus avoiding to add too much processing task to the Monitor Controller. C. Example Consider the example from Fig.7. A client application represented by component Z makes a call on server interface p of component A, and generates a possible execution path displayed in Fig.8. The path is implicitly available as displayed in Fig.8, thought from that view it is not clear how the calls r 3 and r 6 are related to r 2 and r 5. It may have happened that while serving r 2, D made both requests r 3 and r 6, and while serving r 5, it did not make any additional calls ; or it may have happened that while serving r 2, D made one of the requests, and while serving r 5 it made the other. The final state of logs, is shown in Table II. All tables are grouped for displaying purposes, but it must be noted that each Monitor Controller keeps a copy of its own log, and no particular Monitor Controller has the grouped information of all logs at once. By following the path from the Call Log, which can be followed through NF bindings as explained in Section IV-A, it is possible to find the actual sequence of calls. With this information it is possible to create the effective call tree as displayed in Fig.9. The timing information is shown in Table II. From these Fig. 9. Calling tree representing the path of the request r 0 initiated by component Z in Fig.8. The actual sequence of calls can be obtained from the logs shown in Table II timestamps it is possible to determine the time that each component spent while serving a request. For example, the time that component A took to serve request r 0, as perceived by caller Z is s. This time includes the time required by all invocation that were generated while serving r 0. Consider request r 5, which triggered the invocation of r 6 to composite A with timestamp The composite forwards it as a new request r 7 to component F, with timestamp The answer from component F is received by the composite A at 9.511, so r 7 was served in 1.503s. That reply is forwarded to D and received at 9.512, which means that r 6 was served in 1.505s. When considering the total service time for a request involving calls to other components, the time of each invocation from the component that made the original call must be taken into account. Consider request r 1, which triggers two calls from component B: r 2 and r 5. The service time for r 1 must be at least the sum of the service time for r 2 and for r 5. In turn, the service time for r 5, as exemplified above, includes at least the service time for r 6, which must include the service time r 7. From the times displayed in the Request Log it is possible to check that components E and F take around 1.5s to serve a requests r 4 and r 7. The time reported by component B to serve r 1 includes the sum of both request r 2 and r 5 that were made to component D. The difference with the time reported by r 1 in component B accounts for the time that the component was performing internal work. D. Discussion As it has been pointed in section II, monitoring must be as low intrusive as possible. This affirmation is also acknowledged by other works [16], [17]. A valid question is the impact that this framework has over the performance of the monitored
7 Fig. 7. Example GCM application Fig. 8. Request path. Client Z calls p on composite A, which performs internal computation, and requires services from external components E, and F application. Although we have not yet conducted experiments to effectively measure this impact in a large-scale application, we believe that performance would not suffer much harm, as the framework relies on asynchronous notifications, and it is implemented over a middleware that has been proved proficient in demanding large-scale scenarios [10]. Moreover, by implementing the Monitor Controller as a component controller, the monitoring tasks are delegated to other thread: the thread of the active object associated to the component controller. The functional service is therefore, not blocked by the monitoring task. Also, if the monitoring task becomes too demanding, the Monitor Controller can be located remotely in another physical node, in a transparent manner for the application. This way, the only taks that remains in the monitored application is to generate the notifications, which is already done asynchronously. V. RELATED WORK Schmid and Kroeger [1] describe a decentralised architecture for SCA, where a Manager component is associated to each workflow and to each service component, which is responsible of monitoring the behaviour of that workflow or service component with regard to its previously defined QoS requirements. This way a logically layered architecture for Service Level Monitoring is created, where the managers associated to workflow components communicate with the managers of the services participating in the worflow in order to enforce the QoS requirements that have been defined. Aldinucci et al. [9] present an approach for managing NF concerns through Autonomic Managers in a hierarchical setting, which are attached to the individual software modules of the hierarchy, and by splitting the SLA into sub-contracts for the lower level managers. Managers at the higher levels can take more autonomous decisions than those at lower levels, which will behave according to the decisions taken at the higher levels. The top level manager receives from the user an SLA, which is split in sub-contracts, which will be given to the lower level managers. Parsons et al. [17], [18] present and evaluate several approaches for extracting component-level interactions (CLI) in component-based Java applications. These approaches allow to extract runtime paths inside a complex application, and provide information that can be used to better understand and tune the targeted systems. Among them, the COMPAS tool allows to perform adaptive monitoring in a complex J2EE application. Like our framework, the information extracted can be used to feed an autonomic management system that can self-adapt the runtime configuration, and also can be used to perform problem diagnosis. Application Response Measurement (ARM) [19] is a standard for monitoring and diagnose application response time in business applications. It provides C and Java bindings. By using the ARM API, applications can be instrumented with calls to ARM Agents, which make it available to other management and analysis applications. Its principles have been also applied to Web Services [20], [21] and multi-tier
8 environments [22] to correlate calls and monitor performance. Neither of these approaches, though, targets the scalability and flexibility of our solution. VI. CONCLUSIONS In this work, we presented a framework to collect performance information from components in an SCA architecture, and describe our current prototype implementation through a middleware that implements a component model with asynchronous invocations, which can be used as an SCA compliant platform. The information is collected by listening to notifications of events, which are transmitted asynchronously by the middleware, with minimal intrusion in the application functional activity. The information collected is stored in a distributed way in each component improving the scalability of the approach. By implementing the monitor entities as components, which can be remotely located by the middleware in a transparent way, we aim for better flexibility and dynamicity. Finally, the information stored is made available for other components or external applications by using non-functional interfaces, and asynchronous JMX MBeans as provided by the middleware. For the moment we are experimenting and taking measures for a small application as a proof of concept, but we are in the process to extend it to an application comprising a larger number of services, to demonstrate the feasibility of our approach. By applying the appropriate probes, it is possible to modify the MC design to collect information for other aspects of an SLA, not only performance, but also provenance and security, for instance. By exposing the information collected, this framework can provide the data required to enable SLA monitoring, which can feed mechanisms for QoS-aware service composition [2]. It can also provide the information required for an autonomic system to take decisions and, if needed, reconfigure the application to ensure compliance to an SLA. This work opens the way to more distributed and scalable supports for SCA-based SOA, as also targeted by [8]. It leverages the GCM model and the GCM/ProActive implementation as feasible technical solutions to implement largely distributed and dynamically monitorable, and thus adaptable, SCA applications, using SLA monitoring techniques that are also distributed and scalable. REFERENCES [1] M. Schmid and R. Kröger, Decentralised QoS-Management in Service Oriented Architectures, in DAIS, 2008, pp [2] M. Alrifai and T. Risse, Combining global optimization with local selection for efficient QoS-aware service composition, in WWW, 2009, pp [3] J. O. Kephart and D. M. Chess, The vision of autonomic computing, IEEE Computer, vol. 36, no. 1, [4] M. Schmid, K. Geihs, and W. Allee, Self-Organisation in the Context of QoS Management in Service Oriented Architectures, in Proceedings of the 13th Annual Workshop of HP OpenView University Association, Hosted by University of Nice at Cote dazur. Citeseer, 2006, pp [5] Service Component Architecture Specifications, March [Online]. Available: Component+Architecture+Specifications [6] Apache Tuscany. [Online]. Available: [7] IBM Websphere Application Server. [Online]. Available: http: //www-01.ibm.com/software/webservers/appserv/was/ [8] L. Seinturier, P. Merle, D. Fournier, N. Dolet, V. Schiavoni, and J.-B. Stefani, Reconfigurable SCA Applications with the FraSCAti Platform, in 6th IEEE International Conference on Service Computing (SCC 09). Bangalore Inde: IEEE, 2009, pp , IST FP7 IP SOA4All. [9] M. Aldinucci, M. Danelutto, and P. Kilpatrick, Autonomic management of non-functional concerns in distributed and parallel application programming, in Proc. of Intl. Parallel and Distributed Processing Symposium (IPDPS). Rome, Italy: IEEE, May [10] L. Baduel, F. Baude, D. Caromel, A. Contes, F. Huet, M. Morel, and R. Quilici, Grid Computing: Software Environments and Tools. Springer-Verlag, January 2006, ch. Programming, Deploying, Composing, for the Grid, ISBN [11] F. Baude, V. Legrand-Contes, and V. Lestideau, Large-scale service deployment - application to OSGi, in IARIA 3rd International conference on Autonomic and Autonomous Services (ICAS 2007). IEEE Computer Society Press, june 2007, pp [12] F. Baude, D. Caromel, C. Dalmasso, M. Danelutto, V. Getov, L. Henrio, and C. Pérez, GCM: a grid extension to Fractal for autonomous distributed components, Annals of Telecommunications, vol. 64, no. 1-2, pp. 5 24, [13] E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.-B. Stefani, The Fractal Component Model and its Support in Java, Software Practice and Experience (SPeE), special issue on Experiences with Auto-adaptive and Reconfigurable Systems, vol. 36, [14] F. Baude, D. Caromel, L. Henrio, and P. Naoumenko, A Flexible Model And Implementation Of Component Controllers, ser. Coregrid. Springer, 2008, ISBN [15] F. Baude, L. Henrio, and P. Naoumenko, Structural reconfiguration: an autonomic strategy for GCM components, in 5th International Conference on Autonomic and Autonomous Systems(ICAS 2009). IEEE Xplore, [16] S. Agarwala, Y. Chen, D. Milojicic, and K. Schwan, QMON: QoSand utility-aware monitoring in enterprise systems, in The 3rd IEEE International Conference on Autonomic Computing. Citeseer, 2006, pp [17] T. Parsons, A. Mos, M. Trofin, T. Gschwind, and J. Murphy, Extracting interactions in component-based systems, IEEE Trans. Software Eng., vol. 34, no. 6, pp , [18] T. Parsons, A. Mos, and J. Murphy, Non-intrusive end-to-end runtime path tracing for J2EE systems, IEE Proceedings Software, vol. 153, no. 4, p. 149, [19] M. Johnson, Monitoring and diagnosing applications with ARM 4.0, in Int. CMG Conference, Computer Measurement Group. Citeseer, 2004, pp [20] J. Turner, D. Bacigalupo, S. Jarvis, D. Dillenberger, and G. Nudd, Application Response Measurement of Distributed Web Services, International Journal of Computer Resource Measurement, vol. 108, pp , [21] J. Schaefer, An Approach for Fine-Grained Web Service Performance Monitoring, Lecture Notes in Computer Science, vol. 4025, p. 169, [22] M. Schmid, M. Thoss, T. Termin, and R. Kroeger, A generic application-oriented performance instrumentation for multi-tier environments, in IEEE Intl. Symposium on Integrated Network Management. Citeseer, 2007, pp
A standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives
SERVICE ORIENTED ARCHITECTURE
SERVICE ORIENTED ARCHITECTURE Introduction SOA provides an enterprise architecture that supports building connected enterprise applications to provide solutions to business problems. SOA facilitates the
Implementing Probes for J2EE Cluster Monitoring
Implementing s for J2EE Cluster Monitoring Emmanuel Cecchet, Hazem Elmeleegy, Oussama Layaida, Vivien Quéma LSR-IMAG Laboratory (CNRS, INPG, UJF) - INRIA INRIA Rhône-Alpes, 655 av. de l Europe, 38334 Saint-Ismier
Designing an Enterprise Application Framework for Service-Oriented Architecture 1
Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Shyam Kumar Doddavula, Sandeep Karamongikar Abstract This article is an attempt to present an approach for transforming
Service-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
Distributed systems. Distributed Systems Architectures
Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined
Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus
Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus Level: Advanced Jean-Louis Maréchaux ([email protected]), IT Architect, IBM 28 Mar 2006 Today's business
SCA-based Enterprise Service Bus WebSphere ESB
IBM Software Group SCA-based Enterprise Service Bus WebSphere ESB Soudabeh Javadi, WebSphere Software IBM Canada Ltd [email protected] 2007 IBM Corporation Agenda IBM Software Group WebSphere software
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
Self-control Cloud Services
2014 IEEE 13th International Symposium on Network Computing and Applications Self-control Cloud Services Efficient SLA Management Tatiana Aubonnet, 1, 2 Noemie Simoni 1 1 - Télécom ParisTech, CNRS LTCI-UMR
Transactionality and Fault Handling in WebSphere Process Server Web Service Invocations. version 0.5 - Feb 2011
Transactionality and Fault Handling in WebSphere Process Server Web Service Invocations version 0.5 - Feb 2011 IBM Corporation, 2011 This edition applies to Version 6.2 of WebSphere Process Server 1 /
Event-based middleware services
3 Event-based middleware services The term event service has different definitions. In general, an event service connects producers of information and interested consumers. The service acquires events
A Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You [email protected] ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
Approach to Service Management
Approach to Service Management In SOA Space Gopala Krishna Behara & Srikanth Inaganti Abstract SOA Management covers the Management and Monitoring of applications, services, processes, middleware, infrastructure,
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
Developing SOA solutions using IBM SOA Foundation
Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this
ActiveVOS Server Architecture. March 2009
ActiveVOS Server Architecture March 2009 Topics ActiveVOS Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS HT Human Tasks Other Services JMS, REST, POJO,...
SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008
SOA Fundamentals For Java Developers Alexander Ulanov, System Architect Odessa, 30 September 2008 What is SOA? Software Architecture style aimed on Reuse Growth Interoperability Maturing technology framework
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
What You Need to Know About Transitioning to SOA
What You Need to Know About Transitioning to SOA written by: David A. Kelly, ebizq Analyst What You Need to Know About Transitioning to SOA Organizations are increasingly turning to service-oriented architectures
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES Peter R. Egli INDIGOO.COM 1/16 Contents 1. EAI versus SOA versus ESB 2. EAI 3. SOA 4. ESB 5. N-tier enterprise architecture
A Generic Database Web Service
A Generic Database Web Service Erdogan Dogdu TOBB Economics and Technology University Computer Engineering Department Ankara, Turkey [email protected] Yanchao Wang and Swetha Desetty Georgia State University
Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus. 2010 IBM Corporation
Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus Agenda BPM Follow-up SOA and ESB Introduction Key SOA Terms SOA Traps ESB Core functions Products and Standards Mediation Modules
A Case Based Tool for Monitoring of Web Services Behaviors
COPYRIGHT 2010 JCIT, ISSN 2078-5828 (PRINT), ISSN 2218-5224 (ONLINE), VOLUME 01, ISSUE 01, MANUSCRIPT CODE: 100714 A Case Based Tool for Monitoring of Web Services Behaviors Sazedul Alam Abstract Monitoring
Oracle SOA Suite: The Evaluation from 10g to 11g
KATTA Durga Reddy TATA Consultancy Services. Oracle SOA Suite: The Evaluation from 10g to 11g Introduction Oracle SOA Suite is an essential middleware layer of Oracle Fusion Middleware. It provides a complete
Increasing IT flexibility with IBM WebSphere ESB software.
ESB solutions White paper Increasing IT flexibility with IBM WebSphere ESB software. By Beth Hutchison, Katie Johnson and Marc-Thomas Schmidt, IBM Software Group December 2005 Page 2 Contents 2 Introduction
Oracle JRockit Mission Control Overview
Oracle JRockit Mission Control Overview An Oracle White Paper June 2008 JROCKIT Oracle JRockit Mission Control Overview Oracle JRockit Mission Control Overview...3 Introduction...3 Non-intrusive profiling
Service Oriented Architecture 1 COMPILED BY BJ
Service Oriented Architecture 1 COMPILED BY BJ CHAPTER 9 Service Oriented architecture(soa) Defining SOA. Business value of SOA SOA characteristics. Concept of a service, Enterprise Service Bus (ESB) SOA
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Michael P. Papazoglou (INFOLAB/CRISM, Tilburg University, The Netherlands)
Prerequisites for Successful SOA Adoption
George Feuerlicht University of Technology, Sydney [email protected] 1. INTRODUCTION The adoption of SOA (Service Oriented Architecture) has gained momentum in the past two years, and the predictions
10g versions followed on separate paths due to different approaches, but mainly due to differences in technology that were known to be huge.
Oracle BPM 11g Platform Analysis May 2010 I was privileged to be invited to participate in "EMEA BPM 11g beta bootcamp" in April 2010, where I had close contact with the latest release of Oracle BPM 11g.
2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.
Service Oriented Architecture Definition (1) Definitions Services Organizational Impact SOA principles Web services A service-oriented architecture is essentially a collection of services. These services
Service Computing: Basics Monica Scannapieco
Service Computing: Basics Monica Scannapieco Generalities: Defining a Service Services are self-describing, open components that support rapid, low-cost composition of distributed applications. Since services
An Oracle White Paper May 2011. Oracle Tuxedo: An Enterprise Platform for Dynamic Languages
An Oracle White Paper May 2011 Oracle Tuxedo: An Enterprise Platform for Dynamic Languages Introduction Dynamic languages, also sometimes known as scripting languages, have been in existence for a long
Business Process Management with @enterprise
Business Process Management with @enterprise March 2014 Groiss Informatics GmbH 1 Introduction Process orientation enables modern organizations to focus on the valueadding core processes and increase
Simplifying Processes Interoperability with a Service Oriented Architecture
Why SOA? Simplifying Processes Interoperability with a Service Oriented Architecture Zak Merzouki, Software Architecture and Technology Director BDPA 11/20/2008 Perspective "Things should be made as simple
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1) E14294-04 January 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include: What
OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent. copyright 2004 by OSGi Alliance All rights reserved.
OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent copyright 2004 by OSGi Alliance All rights reserved. Today Management Environments Network Management. Monitors
Oracle SOA Suite Then and Now:
Oracle SOA Suite Then and Now: The Evolution from 10g to 11g Shane Goss Impac Services Agenda SOA Suite 11g New Features Highlight new features of SOA 11g Some products have added features and functionality
A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus
A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus Karim M. Mahmoud 1,2 1 IBM, Egypt Branch Pyramids Heights Office Park, Giza, Egypt [email protected] 2 Computer
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7 No. 7, September-October 2008 Applications At Your Service Mahesh H. Dodani, IBM,
The Enterprise Service Bus: Making Service-Oriented Architecture Real
The Enterprise Service Bus: Making Service-Oriented Architecture Real M.T. Schmidt et al. Presented by: Mikael Fernandus Simalango SOA in Early Days Introduction Service Requester bind find Service Registry
ActiveMatrix Extending Virtualization benefits over Your Service Architecture. Joaquim F. Carvalho Senior Solution Consultant TIBCO Software Inc.
ActiveMatrix Extending Virtualization benefits over Your Service Architecture Joaquim F. Carvalho Senior Solution Consultant TIBCO Software Inc. The Business/IT Gap Business Needs Service Management Customer
Mitra Innovation Leverages WSO2's Open Source Middleware to Build BIM Exchange Platform
Mitra Innovation Leverages WSO2's Open Source Middleware to Build BIM Exchange Platform May 2015 Contents 1. Introduction... 3 2. What is BIM... 3 2.1. History of BIM... 3 2.2. Why Implement BIM... 4 2.3.
DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING. Carlos de Alfonso Andrés García Vicente Hernández
DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING Carlos de Alfonso Andrés García Vicente Hernández 2 INDEX Introduction Our approach Platform design Storage Security
Converting Java EE Applications into OSGi Applications
Converting Java EE Applications into OSGi Applications Author: Nichole Stewart Date: Jan 27, 2011 2010 IBM Corporation THE INFORMATION CONTAINED IN THIS REPORT IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1.6) E14294-06 November 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include:
Service Mediation. The Role of an Enterprise Service Bus in an SOA
Service Mediation The Role of an Enterprise Service Bus in an SOA 2 TABLE OF CONTENTS 1 The Road to Web Services and ESBs...4 2 Enterprise-Class Requirements for an ESB...5 3 Additional Evaluation Criteria...7
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Six Strategies for Building High Performance SOA Applications
Six Strategies for Building High Performance SOA Applications Uwe Breitenbücher, Oliver Kopp, Frank Leymann, Michael Reiter, Dieter Roller, and Tobias Unger University of Stuttgart, Institute of Architecture
A Middleware Strategy to Survive Compute Peak Loads in Cloud
A Middleware Strategy to Survive Compute Peak Loads in Cloud Sasko Ristov Ss. Cyril and Methodius University Faculty of Information Sciences and Computer Engineering Skopje, Macedonia Email: [email protected]
Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus
Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives
IBM WebSphere ESB V6.0.1 Technical Product Overview
IBM WebSphere ESB V6.0.1 Technical Product Overview SOA on your terms and our expertise 2005 IBM Corporation The SOA Lifecycle.. For Flexible Business & IT Assemble Assemble existing and new assets to
EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer
WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration Developer Web Age Solutions Inc. USA: 1-877-517-6540 Canada: 1-866-206-4644 Web: http://www.webagesolutions.com Chapter 6 - Introduction
ATHABASCA UNIVERSITY. Enterprise Integration with Messaging
ATHABASCA UNIVERSITY Enterprise Integration with Messaging BY Anuruthan Thayaparan A thesis essay submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in INFORMATION
An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead
An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...
Introduction to Service-Oriented Architecture for Business Analysts
Introduction to Service-Oriented Architecture for Business Analysts This course will provide each participant with a high-level comprehensive overview of the Service- Oriented Architecture (SOA), emphasizing
Service Governance and Virtualization For SOA
Service Governance and Virtualization For SOA Frank Cohen Email: [email protected] Brian Bartel Email: [email protected] November 7, 2006 Table of Contents Introduction 3 Design-Time Software
Challenges and Approaches in Providing QoS Monitoring
Challenges and Approaches in Providing QoS Monitoring Yuming Jiang, Chen-Khong Tham, Chi-Chung Ko Department of Electrical Engineering National University of Singapore 10 Kent Ridge Crescent, Singapore
Figure 1: Illustration of service management conceptual framework
Dagstuhl Seminar on Service-Oriented Computing Session Summary Service Management Asit Dan, IBM Participants of the Core Group Luciano Baresi, Politecnico di Milano Asit Dan, IBM (Session Lead) Martin
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use
Product Data Sheet BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use BEA AquaLogic Integrator delivers the best way for IT to integrate, deploy, connect and manage process-driven
PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS
PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS Adrian Mos, John Murphy Performance Engineering Lab, Dublin City University Glasnevin, Dublin 9, Ireland Tel: +353 1 700-8762,
Service Oriented Architecture
Service Oriented Architecture Version 9 2 SOA-2 Overview Ok, now we understand the Web Service technology, but how about Service Oriented Architectures? A guiding analogy Terminology excursion Service,
SLA Business Management Based on Key Performance Indicators
, July 4-6, 2012, London, U.K. SLA Business Management Based on Key Performance Indicators S. Al Aloussi Abstract-It is increasingly important that Service Level Agreements (SLAs) are taken into account
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
How To Write A Composition Engine In A Microsoft Ip System
Service composition in IMS using Java EE SIP servlet containers Torsten Dinsing, Göran AP Eriksson, Ioannis Fikouras, Kristoffer Gronowski, Roman Levenshteyn, Per Pettersson and Patrik Wiss The IP Multimedia
E-Business Suite Oracle SOA Suite Integration Options
Specialized. Recognized. Preferred. The right partner makes all the difference. E-Business Suite Oracle SOA Suite Integration Options By: Abhay Kumar AST Corporation March 17, 2014 Applications Software
An Oracle White Paper October 2013. Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus
An Oracle White Paper October 2013 Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus Table of Contents Introduction...
How To Build A Financial Messaging And Enterprise Service Bus (Esb)
Simplifying SWIFT Connectivity Introduction to Financial Messaging Services Bus A White Paper by Microsoft and SAGA Version 1.0 August 2009 Applies to: Financial Services Architecture BizTalk Server BizTalk
Research on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
An Oracle White Paper March 2011. Guide to Implementing Application Integration Architecture on Oracle Service Bus
An Oracle White Paper March 2011 Guide to Implementing Application Integration Architecture on Oracle Service Bus Disclaimer The following is intended to outline our general product direction. It is intended
Oracle SOA Reference Architecture
http://oraclearchworld.wordpress.com/ Oracle SOA Reference Architecture By Kathiravan Udayakumar Introduction to SOA Service Oriented Architecture is a buzz word in IT industry for few years now. What
HP Systinet. Software Version: 10.01 Windows and Linux Operating Systems. Concepts Guide
HP Systinet Software Version: 10.01 Windows and Linux Operating Systems Concepts Guide Document Release Date: June 2015 Software Release Date: June 2015 Legal Notices Warranty The only warranties for HP
Dynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** [email protected], {pcdavid, ledoux}@emn.fr (*) Faculté
SOA @ ebay : How is it a hit
SOA @ ebay : How is it a hit Sastry Malladi Distinguished Architect. ebay, Inc. Agenda The context : SOA @ebay Brief recap of SOA concepts and benefits Challenges encountered in large scale SOA deployments
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise Eric Newcomer, CTO Overview First of all: concepts and definitions Change your thinking about your IT environment Including organization
