SCA Java Runtime Overview

Size: px
Start display at page:

Download "SCA Java Runtime Overview"

Transcription

1 SCA Java Runtime Overview Software Organization Source Code Locations If you take a Tuscany SCA Java source distribution or look in the Tuscany subversion repository ( a/) you'll see the code layed out as follows: BUILDING CHANGES LICENSE NOTICE README RELEASE_NOTES distribution - the code that defines and build Tuscany distributions features - Maven projects that collect together Tuscany modules maven archetypes - Maven archetypes for creating Tuscany project templates maven-tuscany-plugin -??? modules - the source code for the runtime and the SCA extensions samples - project samples testing itest - project integration tests compliance-tests - OASIS compliance tests pom.xml There is some related source code that's worth mentioning up front. Firstly the project Maven build relies on a set of Maven plugins that have been written specifically for Tuscany. They can also be found in the Tuscany subversion repository ( n-plugins/trunk/) and are as follows: maven-bundle-plugin - Creates Tuscany OSGi bundles based on the Tuscany modules and their dependencies also generates eclipse PDE projects for Tuscany modules maven-eclipse-compiler - Compiles using the Eclipse compiler and performs OSGi validation maven-java2wsdl-plugin - TBD maven-osgi-junit - Runs Junit tests in an OSGi environment maven-tuscany-plugin - TBD maven-wsdl2java-plugin - TBD Secondly there are a set of tests that the OASIS SCA specifications define called otests. These test the Tuscany SCA runtime for compliance with the specifications. The tests themselves are stored in the OASIS subversion system ( ). Tuscany has a set of modules that retrieve these tests automatically and configure the Tuscany environment to run them ( uscany/otest/) as follows:

2 README build.xml - Ant utility script pom.xml sca-assembly - Generated automatically by svn externals when you check this directory out sca-java-caa - Generated automatically by svn externals when you check this directory out sca-java-ci - Generated automatically by svn externals when you check this directory out sca-policy - Generated automatically by svn externals when you check this directory out tuscany-java-caa-test-runner - Java Common Annotations and APIs test runner tuscany-java-ci-test-runner - Java Component Implementation test runner tuscany-policy-test-runner - Policy test runner tuscany-test-runner - Assembly test runner SCA Java Modules All of the functional code in Tuscany Java SCA can be found under the modules directory. There are a lot of sub-directories here but they basically fall into one of two categories, core function or extensions. We are using the term extension here in the sense that the SCA Assembly specification talks about and extension model You always have to have the core functions but most of the extensions are optional (we say most here because without some of the basic extensions the runtime won't do anything) Finding extension modules is easy. Modules that start with the following words are extensions. binding databinding implementation interface policy As you can see SCA extensions relate to the extensible parts of the SCA composite file. For example, if you want to use <binding.jms/> in you SCA composite files then you need to include the Tuscany modules for this extension in you installation. In this case that would mean the modules binding-jms and binding-jms-runtime. All of the other modules in the modules directory are core modules and are generally required to be present in you Tuscany runtime installation. The use of the word "generally" here sounds a bit vague. This is because the Tuscany runtime itself is based on an extensibility mechanism which means that many parts of the runtime (as well as the SCA extensions) are pluggable. In this way, for example, different hosting environments can be supported. Well talk about runtime extensibility further down this article but for the time being consider all core modules to be mandatory. Runtime Building Blocks As you may have realized the Tuscany SCA Java runtime is just a Java program that, once started listens for incoming messages (via SCA component services) and, sometimes responds with outgoing messages (via SCA component references). The runtime then provides the context within which SCA composite applications run. If we crack open the Tuscany Runtime box we see the following structure. We'll take a high level look at these different blocks in turn starting with Core. Tuscany Core The Tuscany core is made up of several modules that provide basic runtime and extensibility support to the extensions that provide the real SCA

3 functions. If you look in the modules directory of a Tuscany distribtuion (2.0-M4 at the time of writing - this list may change in subsequent releases) the modules that make up the Tuscany core are as follows: assembly - The in-memory model of an OASIS SCA composite application (sometimes called an assembly) assembly-xml - The Tuscany processors that translate to and from XML and the in-memory model assembly-xsd - The schema used to validate the contents of various SCA files, e.g. the composite file builder - Process the in-memory model to build a complete SCA application representation common-java - General Java utilities common-xml - General XML utilities contribution - Read and process SCA contributions core - The core Tuscany SCA Java runtime functions core-databinding - The core databinding functions core-spi - The Java interfaces that extension developers use to create and register extensions databinding - Builds on the core databinding functions to provide features common to all databindings??? deployment - Loads the runtime and orchestrates the loading of SCA contributions extensibility - Reads META-INF/services files and manages Tuscany extensibility extensibility-equinox - Manages Tuscany extensibility in an OSGi environment host-http - Base interfaces for providing integration with a servlet container interface-java - Java interface model and instrospection interface-java-jaxws - Process JAX-WS annotations from a Java interface interface-wsdl - WSDL interface model launcher - Command line Tuscany runtime launcher monitor - Collects errors as they occur in the Tuscany runtime node-api - API for accessing an embedded Tuscany node (A node loads/runs contributions) node-impl - The JSE implementation for the node API node-impl-osgi - The OSGi implementation for the node API???? node-launcher - The JSE based command line launcher for a Tuscany node node-launcher-equinox - The OSGi based command line launcher for a Tuscany node sca-api - The OASIS defined SCA API sca-client-impl - The Tuscany implementation of the OASIS defined SCA client xsd - The in-memory model of an XSD file, along with the processors to read it We have already said that there are a set of extensions that, while in theory they are are optional, are in practice required to do anything useful. These are are follows:

4 binding-sca-runtime - The implementation for the local version of binding.sca binding-sca-axis2-runtime - The implementation for the remote version of binding.sca based on web services binding-ws - The in-memory model for binding.ws binding-ws-axis2 - TBD - should be called runtime binding-ws-axis2-policy - TBD binding-ws-wsdlgen - TBD databinding-axiom - The databinding for Axiom databinding-jaxb - The databinding for JAXB databinding-jaxb-axiom - TBD endpoint-tribes - The distributed endpoint registry based on tribes host-jetty - Allows Jetty to be started automatically to support HTTP based bindings host-webapp - Allows Tuscany to be embedded in a WAR implementation-java - The in-memory model for implementation.java implementation-java-runtime - The runtime artifacts for implementation.java The rest of the modules are optional and can be omitted. In practice the easiest way to get started is to keep all of the modules. By default this is what you get when you install the binding distribution. In the future you're free to remove the extensions you don't use to reduce the size of the installation. The Tuscany project may even make releases in the future that package sets of extensions targeted at particular types of application. Tuscany SCA API The Tuscany SCA API is used by SCA applications to access various information from the runtime. It's not mandatory to use the API but it can be useful in some circumstances. launcher Tuscany API node-api Tuscany API node-launcher Tuscany API node-launcher-equinox Tuscany API sca-api OASIS API sca-client-impl OASIS API Tuscany SPI The Tuscany SPI is generally used for building extensions. Extensions come in two flavours SCA extensions, like implementation and binding types, and Tuscany runtime extensions, like builders and binders. Both of these types of extension are discussed a little later in this article. The modules and module packages that describe the Tuscany SPI are as follows:

5 assembly org.apache.tuscany.sca.assembly org.apache.tuscany.sca.definitions org.apache.tuscany.sca.interfacedef org.apache.tuscany.sca.policy assembly-xsd sca-core-1.1.xsd sca-policy-1.1.xsd contribution org.apache.tuscany.sca.contribution org.apache.tuscany.sca.contribution.java org.apache.tuscany.sca.contribution.namespace org.apache.tuscany.sca.contribution.processor org.apache.tuscany.sca.contribution.resolver org.apache.tuscany.sca.contribution.scanner core org.apache.tuscany.sca.core.assembly org.apache.tuscany.sca.core.context org.apache.tuscany.sca.core.factory org.apache.tuscany.sca.core.invocation org.apache.tuscany.sca.core.scope core-databinding org.apache.tuscany.sca.core.databinding.processor core-spi (why not extension SPI?) org.apache.tuscany.sca.context org.apache.tuscany.sca.invocation org.apache.tuscany.sca.provider org.apache.tuscany.sca.runtime org.apache.tuscany.sca.work databinding org.apache.tuscany.sca.databinding org.apache.tuscany.sca.databinding.annotation org.apache.tuscany.sca.databinding.javabeans org.apache.tuscany.sca.databinding.util org.apache.tuscany.sca.databinding.xml deployment org.apache.tuscany.sca.deployment extensibility org.apache.tuscany.sca.core org.apache.tuscany.sca.extensibility monitor org.apache.tuscany.sca.monitor xsd org.apache.tuscany.sca.xsd More detail on extension points and SPIs can be found here Tuscany Runtime Extensibility and Extensions As we've already mentioned the Tuscany core doesn't do much on it's own apart from providing basic features and support the plugging in of extensions which do the real work. Extensions come in two forms. Extension types defined by the OASIS SCA specifications and those that are particular to Tuscany. In the first category are the extension types defined by the OASIS Assembly specification: interface implementation binding

6 import export The Tuscany runtime defines it's own extension types which exploit the core runtimes extensibility features policy databinding contribution host The Tuscany extensibility framework is based on two simple ideas. Firstly that the Tuscany runtime provides extension points into which extension functions can be plugged. Secondly that the the Java META-INF/services mechanism provides a way for extension developers to register new extension functions with these extension points. The Tuscany extensibility framework exposes quite a few extension points, for example,(o.a.t.s = org.apache.tuscany) org.apache.tuscany.sca.assembly.builder.builderextensionpoint org.apache.tuscany.sca.assembly.builder.bindingbuilder org.apache.tuscany.sca.assembly.builder.compositebuilder org.apache.tuscany.sca.assembly.builder.contractbuilder org.apache.tuscany.sca.assembly.builder.implementationbuilder org.apache.tuscany.sca.core.factoryextensionpoint org.apache.tuscany.sca.assembly.assemblyfactory org.apache.tuscany.sca.assembly.scabindingfactory org.apache.tuscany.sca.binding.atom.atombindingfactory org.apache.tuscany.sca.binding.comet.cometbindingfactory org.apache.tuscany.sca.binding.corba.corbabindingfactory org.apache.tuscany.sca.binding.ejb.ejbbindingfactory org.apache.tuscany.sca.binding.http.httpbindingfactory org.apache.tuscany.sca.binding.jsonp.jsonpbindingfactory org.apache.tuscany.sca.binding.jsonrpc.jsonrpcbindingfactory org.apache.tuscany.sca.binding.rest.operationselector.jaxrs.jaxrsoperationselectorfact ory org.apache.tuscany.sca.binding.rest.operationselector.rpc.rpcoperationselectorfactory org.apache.tuscany.sca.binding.rest.restbindingfactory org.apache.tuscany.sca.binding.rest.wireformat.json.jsonwireformatfactory org.apache.tuscany.sca.binding.rest.wireformat.xml.xmlwireformatfactory org.apache.tuscany.sca.binding.rmi.rmibindingfactory org.apache.tuscany.sca.binding.ws.webservicebindingfactory org.apache.tuscany.sca.contribution.contributionfactory org.apache.tuscany.sca.contribution.java.javaimportexportfactory org.apache.tuscany.sca.contribution.namespace.namespaceimportexportfactory org.apache.tuscany.sca.contribution.processor.validatingxmlinputfactory org.apache.tuscany.sca.definitions.definitionsfactory org.apache.tuscany.sca.implementation.bpel.bpelfactory org.apache.tuscany.sca.implementation.java.javaimplementationfactory org.apache.tuscany.sca.implementation.java.introspect.javaclassvisitor org.apache.tuscany.sca.interfacedef.java.introspect.javainterfacevisitor org.apache.tuscany.sca.implementation.jaxrs.jaxrsimplementationfactory org.apache.tuscany.sca.implementation.script.scriptimplementationfactory org.apache.tuscany.sca.implementation.web.webimplementationfactory org.apache.tuscany.sca.implementation.widget.widgetimplementationfactory org.apache.tuscany.sca.interfacedef.wsdl.wsdlfactory org.apache.tuscany.sca.invocation.messagefactory org.apache.tuscany.sca.node.configuration.nodeconfigurationfactory org.apache.tuscany.sca.policy.policyfactory org.apache.tuscany.sca.context.contextfactoryextensionpoint

7 org.apache.tuscany.sca.context.componentcontextfactory org.apache.tuscany.sca.context.propertyvaluefactory org.apache.tuscany.sca.context.requestcontextfactory org.apache.tuscany.sca.contribution.processor.staxartifactprocessorextensionpoint org.apache.tuscany.sca.contribution.processor.staxartifactprocessor org.apache.tuscany.sca.contribution.processor.staxattributeprocessorextensionpoint org.apache.tuscany.sca.contribution.processor.staxattributeprocessor org.apache.tuscany.sca.contribution.processor.urlartifactprocessorextensionpoint org.apache.tuscany.sca.contribution.processor.urlartifactprocessor org.apache.tuscany.sca.contribution.processor.validationschemaextensionpoint org.apache.tuscany.sca.contribution.processor.validationschema org.apache.tuscany.sca.contribution.resolver.modelresolverextensionpoint org.apache.tuscany.sca.contribution.resolver.modelresolver org.apache.tuscany.sca.contribution.scanner.contributionscannerextensionpoint org.apache.tuscany.sca.core.invocation.proxyfactoryextensionpoint org.apache.tuscany.sca.core.moduleactivatorextensionpoint org.apache.tuscany.sca.core.moduleactivator org.apache.tuscany.sca.databinding.databindingextensionpoint org.apache.tuscany.sca.databinding.databinding org.apache.tuscany.sca.databinding.jaxb.xmladapterextensionpoint org.apache.tuscany.sca.databinding.transformerextensionpoint org.apache.tuscany.sca.databinding.pulltransformer org.apache.tuscany.sca.databinding.pushtransformer org.apache.tuscany.sca.definitions.xml.definitionsextensionpoint org.apache.tuscany.sca.definitions.xml.definitions org.apache.tuscany.sca.host.corba.corbahostextensionpoint org.apache.tuscany.sca.host.http.servlethostextensionpoint org.apache.tuscany.sca.host.http.servlethost org.apache.tuscany.sca.interfacedef.java.javainterfacefactory org.apache.tuscany.sca.provider.providerfactoryextensionpoint org.apache.tuscany.sca.provider.bindingproviderfactory org.apache.tuscany.sca.provider.implementationproviderfactory org.apache.tuscany.sca.provider.policyproviderfactory org.apache.tuscany.sca.provider.wireformatproviderfactory org.apache.tuscany.sca.provider.operationselectorproviderfactory org.apache.tuscany.sca.runtime.domainregistryfactoryextensionpoint org.apache.tuscany.sca.runtime.domainregistryfactory org.apache.tuscany.sca.runtime.runtimewireprocessorextensionpoint org.apache.tuscany.sca.runtime.runtimewireprocessor org.apache.tuscany.sca.core.utilityextensionpoint

8 org.apache.tuscany.sca.databinding.mediator org.apache.tuscany.sca.databinding.simpletypemapper org.apache.tuscany.sca.core.scope.scoperegistry org.apache.tuscany.sca.binding.sca.provider.scabindingmapper org.apache.tuscany.sca.deployment.deployer org.apache.tuscany.sca.interfacedef.faultexceptionmapper org.apache.tuscany.sca.interfacedef.interfacecontractmapper org.apache.tuscany.sca.monitor.monitorfactory org.apache.tuscany.sca.runtime.compositeactivator org.apache.tuscany.sca.runtime.endpointreferencebinder org.apache.tuscany.sca.runtime.endpointserializer org.apache.tuscany.sca.runtime.runtimeproperties org.apache.tuscany.sca.work.workscheduler

9 org.apache.tuscany.sca.node.nodefactory org.apache.tuscany.sca.xsd.xsdfactory Extension points are usually used in groups. You have to populate the right extension points when implementing say an implementation or a binding extensions. The best way to get a grip on how this works is to look at existing extensions and see what they do. As an example, if you look at how the implementation.java extension registers an extension to read the <implemenation.java/> element from a composite file and turn it into an in-memory Java model you will see the following file: modules/implementation-java/src/main/resources/meta-inf/services/o.a.t.s.contribution.processor.staxartifactprocessor Which contains a single line as follows: org.apache.tuscany.sca.implementation.java.xml.javaimplementationprocessor;qname= ementation.java,model=org.apache.tuscany.sca.implementation.java.javaimplementation This tells the Tuscany runtime to register and extension in the StAXArtifactProcessorExtensionPoint with the follwing properties: org.apache.tuscany.sca.implementation.java.xml.javaimplementationprocessor The name of the process that turns the XML <implementation.java> element into a Java model qname= The QName of the <implementation.java/> element to look for in incoming composite files model=org.apache.tuscany.sca.implementation.java.javaimplementation The name of the Java model interface that will be used to represent the XML element in-memory. The full set of extension points required to represent the implementation.java extension is spread across the implemenation-java and implementation-java-runtime modules as follows: implementation-java resources/meta-inf/services/ o.a.t.s.contribution.processor.staxartifactprocessor - Converts <implementation.java/> to/from JavaImplementation model o.a.t.s.implementation.java.javaimplementationfactory - Creates JavaImplementation model objects o.a.t.s.implementation.java.introspect.javaclassvisitor - Registers visitors used to introspect Java classes implementation-java-runtime resources/meta-inf/services/ o.a.t.s.context.propertyvaluefactory -??? o.a.t.s.definitions.xml.definitions - Registers a definitions.xml file for implementation.java o.a.t.s.provider.implementationproviderfactory - Creates a runtime provider for implementation.java o.a.t.s.runtime.runtimewireprocessor - Registers a processor for endpoint and endpoint reference interceptor chains All of these extension point entries come together at runtime to allow Tuscany to process implementation.java elements that appear in composite files. Most extension are packaged in a least two modules. For example the implementation.java extension is provided in the following modules: modules/implementation-java processor modules/implementation-java-runtime providers - the implementation.java model classes and XML - the runtime artifacts such as the runtime You will currently see extension that don't match this pattern. Often this is because the extension has been moved into 2.x from 1.x but has not been tidied up yet. More detail on extension points and SPIs can be found here Runtime hosting and containers, OSGi, JSE, Webapps etc. The Tuscany runtime will work in the JSE environment and when deployed to an OSGi runtime like Felix or Equinox. Since 1.x we have been through an exercise of refactoring all of the runtime modules into OSGi bundles and providing consistent OSGi manifest files. See ( che.org/confluence/display/tuscanyxdocx2x/osgi+enablement+for+tuscany+runtime) for more details on how we OSGi-igfied the Tuscany runtime. A launcher is provided to each environment. For JSE use the following class from modules/node-launcher:

10 org.apache.tuscany.sca.node.launcher.nodelauncher For in OSGi in the Equinoz framework use the following class from modules/node-launcher-equinox: org.apache.tuscany.sca.node.equinox.launcher.nodelauncher In both cases you use the launcher to create a node instance as follows: Node node = launcher.createnode(new Contribution("contrib1", "./contrib1.jar"), node.start(); new Contribution("contrib2", "./contrib2.jar")); When you use the JSE launcher the runtime starts and creates a classpath to load the Tuscany runtime. It uses the following algorithm (coded in the NodeLauncherUtil.runtimeClassloader method) to create the classpath: Check to see if the runtime has been added to the current classpath already. If it has don't do anything more Determine where the launcher class was loaded from and load all the Tuscany classes from that location Look for an environment variable called TUSCANY_HOME which should point to a distribution. Load jars from there and from lib and modules sub directories Look for an environment variable called TUSCANY_PATCH which contains a list of Jars to load? When you use the OSGI launcher the algorithm is similar but of course this time the Tuscany bundles are loaded into the OSGi framework. The node launcher starts up the Equinox framework and then goes looking for bundles to load using the following algorithm: TBD There is no single classpath that gives access to the Tuscany runtime. TODO what features of the OSGi integration do we need to cover in this overview? (In the OSGi runtime special processing is applied to collect together all the META-INF/services information so that it is all accessible without having to delve inside each bundle. See the runtime enviroments section for more information) You can of course use the launchers from the command line in various guises. TBD TODO - what other ways are we actually going to support for starting the runtime? SCA Domain and Nodes The design for the 2.x SCA domain is based on a registry that is accessible from all nodes that are running composites in the domain. There is also the intention to add a management mechanism to allow for central control of the nodes. This is not in place yet. It is out intention to bring the Domain Manager function over from the 1.x code base to provide a central place for adding contributions and assigning them to nodes. This time though it won't be mandatory to run a Domain Manager to have nodes run a distributed SCA application. If you are happy to configure nodes directly and start them individually you are able to do that. The domain manager will just be one of a number of applications that can sit on top of and exploit the distributed registry. The registry holds information that is common across the domain including: available endpoints (the result of specifying a binding on a component services) policy model

11 extension type model The following diagram shows an example of domain data populating the registry and two nodes, in separate JVMs, running separate composites from the SCA application With no domain manager each node is started with a set of contributions. A node reads the contributions and processes deployed composites ready to run. As part of this processing domain level information, such as deployed endpoints and available policies, is published to the registry for other nodes to find. When domain level information is required by a node, for example, when a component reference targets a service running on a different node in the domain, the information can be obtained by looking in the registry. If a domain manager is present it can pre-process all available contributions and pre-populate the registry as required. This is however not mandatory. Runtime Lifecycle Create Runtime creation is contrilled by the environment in which the runtime is being started. For example, if you are running Tuscany from the runtime then using the node launcher will start the runtime. Alternatively if you are deploying Tuscany embedded in a web app then the runtime will not be started until the WAR file is deployed. See the previous hosting section for more details. Read When a node is started and configured with the location of a contribution, for example, Node node = launcher.createnode(new Contribution("contrib1", "./contrib1.jar"), new Contribution("contrib2", "./contrib2.jar")); the node will look at each contribution and identify all of the aritifacts that it holds. Artifacts can be anything from XML, XSD, WSDL and Java.class files to the SCA.composite files. Once the node knows what artifacts are available in all of its input contributions it will read the composite files. It does this using the extension processors that are provided with each extension. The output of reading the composite file is an in-memory model of the SCA application. This model is used to configured the runtime in later phases. Resolve The in-memory model that results from the read phase will contain a lot of unresolved references. For example, for a component that uses <implementation.java class="my.package.myclassimpl"/> The model knows the name of the class file that will be used to implement the component but it doesn't actually have a reference to that real Java class. These references are resolved in the resolve phase. Again the extension processors are used and this time their resolve method looks through the available contributions, using the import/export relationships, to locate referenced artifacts. Build Once we get to this stage we have an in-memory model that faithfully matches what was present in the.composite files that are deployed to the node. We now need to build the model to prepare it read for creating the runtime artifacts. There are a number of things that we need to do an primarily the process involves applying the SCA rules to calculate a complete model of the application based on the input composite files. The input composite files don't necessarily contain all of the right details in the right places, for example, imagine a Java component implementation as follows:

12 @Service(MyClass.class) class MyClassImpl implements MyClass protected MyOtherClass myotherclassreference; } public String dosomething(string input){ return myotherclassreference.dosomething(input); } We can define an SCA component as follows: <component name="mycomponent"> <implementation.java class="my.package.myclassimpl"/> </component> We haven't said that this component defines any services or references but based on the component type implied by the MyClassImpl class we know that it really as a service called "MyClass" and a reference called "myotherclassreference". The build process The build process applies these kinds of rules and enhances the in-memory model with all of the implied information. The following diagram shows the basic process and the steps that form the process. The steps are as follows: Flatten includes - this copies all information from an included composite into the including composite. Attach policies - policies that specify external attachment are applied to the model here Calculate composite component types - the use of implementation.composite implies a hierarchical organization of composite and the components that use them as implementations. This step calculates the component type for a composite recursively so that the configuration of the component that the composite implements can be configured correctly Binding specific building - Sometimes bindings have specific processing to do, for example, the web services binding created WSDL at this stage. Construct endpoints - endpoints represent the service endpoints that components expose. They are the runtime representation of the service binding configuration. Construct endpoint references - endpoint references represent the references that components expose. They are the runtime representation of the reference binding configuration. Compute policy - all of the intents and policy sets should be applied in their correct locations by this stage. This processing computes the policy sets that actually applies and performs policy specific processing The endpoints and endpoint references provide the runtime connection between the component implementations and the bindings protocols used when communicating with other components. The hold all of the message handling chains in the runtime. Endpoints and Endpoint References The following diagram shows how enpoints and enpoint references relate to the model of the more recognizable component references and services. And endpoint maps to a service binding and an endpoint reference maps to a reference target (or a configured reference binding if one is present instead of a target).you will note that endpoints and endpoint references are used to represent callbacks too. An service that specifies a callback gives rise to one or more callback endpoint references. These sit behind the callback proxy at runtime. An endpoint reference that specifies a callback gives rise to a callback endpoint. This endpoint receives callback messages. Looking in more detail you can see that both endpoints and endpoint references hold the interceptor chains that proces references side (endpoint reference) and service side (endpoint) messages. At the end of the interceptor chain endpoint information is placed into the protocol message. The following diagram shows how the web service binding uses endpoint information in forward and callback messages.

13 The twist here is that while a forward Tuscany message has a from field that points to the source endpoint reference when this gets turned into a SOAP envelope the from field represents the callback endpoint if there is one. Building endpoints and endpoint references The following diagram shows how endpoints and endpoint references are created and used at a very high level First endoints and endpoint references are created during the build phase. An endpoint is created for every service binding. Endpoint references are created for every reference target or configured binding. Reference targets are either explicit specified through the reference or the binding uri or are implicitly specified through the use of autowire. If the endpoint to which an endpoint reference is available locally at this point the the two are linked (or bound) together at this point. If the node is running in a distributed domain, endpoint references can be created at this point where the target endpoint is not bound because it's not running in the same node. These endpoint references will be boundat runtime when the first messages passes through the endpoint reference Second, during the activation phase, all endpoints are added to the endpoint registry. In this way any node that has access to the endpoint registry can see the details of these endpoints Lastly, on first use, endpoint references that remain unbound are bound using a pluggable binding algorithm which will usually involve looking up and endpoint in the registry. Activate At the activate stage the various extension providers are created as required. Start During start the "start" operation is called on all active providers in order to perform any extension specific start processing. Message Processing Reference side operation and binding chains Service side operation and binding chains Stop During stop the "stop" operation is called on all started providers in order to perform any extension specific stop processing. Deactivate During the deactivate stage the various parts of the runtime model are picked apart to allow for successful garbage collection. Interfaces Mapping interfaces to the runtime model Reference side runtime interface driven databinding processing

14 Service side runtime interface driven databinding processing

Tuscany: Applying OSGi modularity after the fact

Tuscany: Applying OSGi modularity after the fact Tuscany: Applying OSGi modularity after the fact Luciano Resende lresende@apache.org http://lresende.blogspot.com Raymond Feng rfeng@apache.org Agenda Introduction and Motivation Status of current Tools

More information

juddi Developer Guide

juddi Developer Guide juddi 3.0 - Developer Guide Developer Guide ASF-JUDDI-DEVGUIDE-16/04/09 Contents Table of Contents Contents... 2 About This Guide... 3 What This Guide Contains... 3 Audience... 3 Prerequisites... 3 Organization...

More information

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime. Volume A~B: 114 Questions Volume A 1. Which component type must an integration solution developer define for a non-sca component such as a Servlet that invokes a service component interface? A. Export

More information

Extending Tuscany. Apache Tuscany. Slide 1

Extending Tuscany. Apache Tuscany. Slide 1 Extending Tuscany Apache Tuscany Slide 1 Contents What can be extended? How to add an extension module? How to add an implementation type? How to add a binding type? How to add a interface type (TBD) How

More information

WSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS

WSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS Proposal Overview: Move WSDM Tooling, WSDM extensions to Managed Agent Explorer (MAX) and WS-Notification provider to the TPTP Notification Broker to COSMOS incubator project Leave base MAX framework and

More information

JBoss SOAP Web Services User Guide. Version: M5

JBoss SOAP Web Services User Guide. Version: M5 JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...

More information

SCA Tools: new & noteworthy

SCA Tools: new & noteworthy SCA Tools: new & noteworthy Vincent Zurczak ( EBM WebSourcing ) A large part of the SCA Tools project was implemented in the scope of the SCOrWare project funded by the French Research National Agency

More information

Apache Axis2. Tooling with Axis2

Apache Axis2. Tooling with Axis2 Apache Axis2 Tooling with Axis2 Agenda Introduction Code Generator Tool Command Line Code Generator Tool Ant Task Eclipse Plugins IntelliJ IDEA Plugin Maven2 plugins Axis2 Admin Tool Resources Summary

More information

Modular Java Applications with Spring, dm Server and OSGi

Modular Java Applications with Spring, dm Server and OSGi Modular Java Applications with Spring, dm Server and OSGi Copyright 2005-2008 SpringSource. Copying, publishing or distributing without express written permission is prohibit Topics in this session Introduction

More information

J2EE Interview Questions

J2EE Interview Questions 1) What is J2EE? J2EE Interview Questions J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces

More information

Swordfish The Eclipse SOA Runtime Framework. Copyright SOPERA GmbH, Content is made available under the EPL v1.0.

Swordfish The Eclipse SOA Runtime Framework. Copyright SOPERA GmbH, Content is made available under the EPL v1.0. Swordfish The Eclipse SOA Runtime Framework Copyright SOPERA GmbH, 2008. Content is made available under the EPL v1.0. SOA Architecture and Features Usage Scenarios Past, present, and future Your questions

More information

Fat / Uber jars - Using the Shade Plugin

Fat / Uber jars - Using the Shade Plugin Fat / Uber jars - Using the Shade Plugin Shading the container and the application has some challenges like merging correctly resources (META-INF/services/ typically). Here is a maven shade plugin configuration

More information

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon Create your own Carbon Component Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon sameera@wso2.com WSO2 Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards

More information

Web Services & Axis2. Architecture & Tutorial. Ing. Buda Claudio 2nd Engineering Faculty University of Bologna

Web Services & Axis2. Architecture & Tutorial. Ing. Buda Claudio 2nd Engineering Faculty University of Bologna Web Services & Axis2 Architecture & Tutorial Ing. Buda Claudio claudio.buda@unibo.it 2nd Engineering Faculty University of Bologna June 2007 Axis from SOAP Apache Axis is an implementation of the SOAP

More information

Aegis (2.1) What is Aegis? Getting Started: Basic Use of Aegis. Aegis Operations - The Simple Case

Aegis (2.1) What is Aegis? Getting Started: Basic Use of Aegis. Aegis Operations - The Simple Case Aegis (2.1) For CXF 2.1 or newer What is Aegis? Aegis is a databinding. That is, it is a subsystem that can map Java objects to XML documents described by XML schema, and vica-versa. Aegis is designed

More information

I Got My Mojo Workin'

I Got My Mojo Workin' I Got My Mojo Workin' Gary Murphy Hilbert Computing, Inc. http://www.hilbertinc.com/ glm@hilbertinc.com Gary Murphy I Got My Mojo Workin' Slide 1 Agenda Quick overview on using Maven 2 Key features and

More information

Jaxb2 Maven Plugin Could Not Process Schema

Jaxb2 Maven Plugin Could Not Process Schema Jaxb2 Maven Plugin Could Not Process Schema The JAXB2 Maven Plugin project was moved to GitHub. These pages are no longer maintained and therefore do not provide the actual information. Resource entries,

More information

MAVEN INTERVIEW QUESTIONS

MAVEN INTERVIEW QUESTIONS MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get

More information

Class Dependency Analyzer CDA Developer Guide

Class Dependency Analyzer CDA Developer Guide CDA Developer Guide Version 1.4 Copyright 2007-2017 MDCS Manfred Duchrow Consulting & Software Author: Manfred Duchrow Table of Contents: 1 Introduction 3 2 Extension Mechanism 3 1.1. Prerequisites 3 1.2.

More information

Maven POM project modelversion groupid artifactid packaging version name

Maven POM project modelversion groupid artifactid packaging version name Maven The goal of this document is to introduce the Maven tool. This document just shows some of the functionalities of Maven. A complete guide about Maven can be found in http://maven.apache.org/. Maven

More information

Using Apache Felix: OSGi best practices. Marcel Offermans luminis

Using Apache Felix: OSGi best practices. Marcel Offermans luminis Using Apache Felix: OSGi best practices Marcel Offermans luminis 1 About me Marcel Offermans Software architect at luminis Consultancy & product development Over 4 years of experience with OSGi Committer

More information

TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure. November 2017

TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure. November 2017 TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure November 2017 TIBCO StreamBase 10 Experience 1. Build a StreamBase 10 Project 2. Run/Debug an StreamBase

More information

RadBlue s S2S Quick Start Package (RQS) Developer s Guide. Version 0.1

RadBlue s S2S Quick Start Package (RQS) Developer s Guide. Version 0.1 RadBlue s S2S Quick Start Package (RQS) Developer s Guide Version 0.1 www.radblue.com April 17, 2007 Trademarks and Copyright Copyright 2007 Radical Blue Gaming, Inc. (RadBlue). All rights reserved. All

More information

OSGi. Building and Managing Pluggable Applications

OSGi. Building and Managing Pluggable Applications OSGi Building and Managing Pluggable Applications What A Mess Billing Service Orders Shipping Accounting Workflow Inventory Application From The View Of... Building monolithic applications is evil nuf

More information

OSGi on the Server. Martin Lippert (it-agile GmbH)

OSGi on the Server. Martin Lippert (it-agile GmbH) OSGi on the Server Martin Lippert (it-agile GmbH) lippert@acm.org 2009 by Martin Lippert; made available under the EPL v1.0 October 6 th, 2009 Overview OSGi in 5 minutes Apps on the server (today and tomorrow)

More information

Chapter 1: First steps with JAX-WS Web Services

Chapter 1: First steps with JAX-WS Web Services Chapter 1: First steps with JAX-WS Web Services This chapter discusses about what JAX-WS is and how to get started with developing services using it. The focus of the book will mainly be on JBossWS a Web

More information

Setting up a Maven Project

Setting up a Maven Project Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were

More information

SCA-J POJO Component Implementation v1.1 TestCases Version 1.0

SCA-J POJO Component Implementation v1.1 TestCases Version 1.0 SCA-J POJO Component Implementation v1.1 TestCases Version 1.0 Committee Specification Draft 01 / Public Review Draft 01 8 November 2010 Specification URIs: This Version: http://docs.oasis-open.org/opencsa/sca-j/sca-j-pojo-ci-1.1-testcases-1.0-csprd01.html

More information

Spring Web Services Tutorial With Example In

Spring Web Services Tutorial With Example In Spring Web Services Tutorial With Example In Eclipse Bottom Up In addition to creating a basic web service and client, the article goes a step further This article will be using the Eclipse IDE (Kepler),

More information

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1 Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related

More information

OSGi. Building LinkedIn's Next Generation Architecture with OSGI

OSGi. Building LinkedIn's Next Generation Architecture with OSGI OSGi Building LinkedIn's Next Generation Architecture with OSGI Yan Pujante Distinguished Software Engineer Member of the Founding Team @ LinkedIn ypujante@linkedin.com http://www.linkedin.com/in/yan Background

More information

Building LinkedIn's Next Generation Architecture with OSGI

Building LinkedIn's Next Generation Architecture with OSGI OSGi Building LinkedIn's Next Generation Architecture with OSGI Yan Pujante Distinguished Software Engineer Member of the Founding Team @ LinkedIn ypujante@linkedin.com http://www.linkedin.com/in/yan Yan

More information

Excel Xml Xsd Validation Java Using Jaxb

Excel Xml Xsd Validation Java Using Jaxb Excel Xml Xsd Validation Java Using Jaxb These OASIS CAM standard XML validation templates can include use of content written in Java, implements an XML and JSON validation framework using the NOTE: if

More information

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days Oracle SOA Suite 12c: Build Composite Applications About this course Course type Essentials Course code OC12GSOABCA Duration 5 Days This Oracle SOA Suite 12c: Build Composite Applications training teaches

More information

Skyway Builder 6.3 Reference

Skyway Builder 6.3 Reference Skyway Builder 6.3 Reference 6.3.0.0-07/21/09 Skyway Software Skyway Builder 6.3 Reference: 6.3.0.0-07/21/09 Skyway Software Published Copyright 2009 Skyway Software Abstract The most recent version of

More information

Patterns and Best Practices for dynamic OSGi Applications

Patterns and Best Practices for dynamic OSGi Applications Patterns and Best Practices for dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved.

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved. OSGi Overview freeman.fang@gmail.com ffang@apache.org Apache Servicemix Commiter/PMC member Apache Cxf Commiter/PMC member Apache Karaf Commiter/PMC member Apache Felix Commiter Agenda Why OSGi What is

More information

Berner Fachhochschule. Technik und Informatik JAX-WS. Java API for XML-Based Web Services. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel

Berner Fachhochschule. Technik und Informatik JAX-WS. Java API for XML-Based Web Services. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Berner Fachhochschule Technik und Informatik JAX-WS Java API for XML-Based Web Services Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Overview The motivation for JAX-WS Architecture of JAX-WS and WSDL

More information

SOA-14: Continuous Integration in SOA Projects Andreas Gies

SOA-14: Continuous Integration in SOA Projects Andreas Gies Tooling for Service Mix 4 Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree

More information

Perceptive Connect Runtime

Perceptive Connect Runtime Perceptive Connect Runtime Developer's Guide Version: 1.4.x Written by: Product Knowledge, R&D Date: August 2016 2016 Lexmark. All rights reserved. Lexmark is a trademark of Lexmark International, Inc.,

More information

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM An Integrated Approach to Managing Windchill Customizations Todd Baltes Lead PLM Technical Architect SRAM Event hashtag is #PTCUSER10 Join the conversation! Topics What is an Integrated Approach to Windchill

More information

Build and Provision: Two Sides of the Coin We Love to Hate

Build and Provision: Two Sides of the Coin We Love to Hate Build and Provision: Two Sides of the Coin We Love to Hate Ed Merks Eclipse Modeling Project Lead 1 The Software Pipeline Software artifacts flow from developer to developer and ultimately to the clients

More information

Enterprise Registry Repository

Enterprise Registry Repository BEAAquaLogic Enterprise Registry Repository Exchange Utility Version 3.0 Revised: February 2008 Contents 1. Getting Started With the ALRR Exchange Utility What is the ALRR Exchange Utility?.......................................

More information

TestCases for the SCA POJO Component Implementation Specification Version 1.1

TestCases for the SCA POJO Component Implementation Specification Version 1.1 TestCases for the SCA POJO Component Implementation Specification Version 1.1 Committee Specification Draft 02 / Public Review Draft 02 15 August 2011 Specification URIs This version: http://docs.oasis-open.org/opencsa/sca-j/sca-j-pojo-ci-1.1-testcases-csprd02.pdf

More information

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable

More information

MAVEN MOCK TEST MAVEN MOCK TEST I

MAVEN MOCK TEST MAVEN MOCK TEST I http://www.tutorialspoint.com MAVEN MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Maven. You can download these sample mock tests at your local machine

More information

Exercise SBPM Session-4 : Web Services

Exercise SBPM Session-4 : Web Services Arbeitsgruppe Exercise SBPM Session-4 : Web Services Kia Teymourian Corporate Semantic Web (AG-CSW) Institute for Computer Science, Freie Universität Berlin kia@inf.fu-berlin.de Agenda Presentation of

More information

1.2. Name(s) and address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008

1.2. Name(s) and  address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008 01234567890123456789012345678901234567890123456789012345678901234567890123456789 1. Introduction 1.1. Project/Component Working Name: Modularization of GlassFish using OSGi 1.2. Name(s) and e-mail address

More information

BEA WebLogic Server R Web Services XML Catalogs

BEA WebLogic Server R Web Services XML Catalogs BEA WebLogic Server R Web Services XML Catalogs Version: 10.3 Tech Preview Document Date: October 2007 XML Catalogs Support WebLogic Server now supports the XML catalogs (OASIS XML catalogs 1.1) option

More information

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Webservices In Java Tutorial For Beginners Using Netbeans Pdf Webservices In Java Tutorial For Beginners Using Netbeans Pdf Java (using Annotations, etc.). Part of way) (1/2). 1- Download Netbeans IDE for Java EE from here: 2- Follow the tutorial for creating a web

More information

Breaking Apart the Monolith with Modularity and Microservices CON3127

Breaking Apart the Monolith with Modularity and Microservices CON3127 Breaking Apart the Monolith with Modularity and Microservices CON3127 Neil Griffin Software Architect, Liferay Inc. Specification Lead, JSR 378 Portlet 3.0 Bridge for JavaServer Faces 2.2 Michael Han Vice

More information

Equinox OSGi: Pervasive Componentization

Equinox OSGi: Pervasive Componentization Equinox OSGi: Pervasive Componentization Thomas Watson Equinox Development Lead IBM Lotus Jeff McAffer, Eclipse RCP and Equinox Lead IBM Rational Software 10/3/2006 Why is Eclipse interesting? Extensible

More information

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

Lessons learned from building Eclipse-based add-ons for commercial modeling tools Lessons learned from building Eclipse-based add-ons for commercial modeling tools (from a technology perspective) István Ráth Ákos Horváth EclipseCon France June 14 2018 MagicDraw A popular modeling tool

More information

Axis2 Quick Start Guide

Axis2 Quick Start Guide 1 of 22 12/6/2008 9:43 PM Axis2 Quick Start Guide Axis2 Quick Start Guide The purpose of this guide is to get you started on creating services and clients using Axis2 as quickly as possible. We'll take

More information

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

IBM WebSphere Application Server 8. Java EE 6 Feature Packs IBM WebSphere Application Server 8 EE 6 Feature Packs Thomas Bussière- bussiere@fr.ibm.com IT Architect Business Solution Center La Gaude, France Enabling Developers to Start With Open Source/Community

More information

IBM C IBM WebSphere App Server Dev Tools V8.5, with Liberty.

IBM C IBM WebSphere App Server Dev Tools V8.5, with Liberty. IBM C2180-319 IBM WebSphere App Server Dev Tools V8.5, with Liberty http://killexams.com/exam-detail/c2180-319 A. Use a JAX-WS Binding Type annotation B. Set a property on the SOAP Binding object C. Specify

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

RESTful SCA with Apache Tuscany

RESTful SCA with Apache Tuscany RESTful SCA with Apache Tuscany Luciano Resende lresende@apache.org http://lresende.blogspot.com Jean-Sebastien Delfino jsdelfino@apache.org http://jsdelfino.blogspot.com 1 Agenda IBM Software Group What

More information

Oracle SOA Suite 12c: Build Composite Applications

Oracle SOA Suite 12c: Build Composite Applications Oracle University Contact Us: Landline: +91 80 67863899 Toll Free: 0008004401672 Oracle SOA Suite 12c: Build Composite Applications Duration: 5 Days What you will learn This Oracle SOA Suite 12c: Build

More information

7.5.2 Mapping C/C++ to XML Schema with soapcpp Multi-Referenced Data 19.2

7.5.2 Mapping C/C++ to XML Schema with soapcpp Multi-Referenced Data 19.2 Wsdl Namespace Is Not Available To Be Referenced In This Schema I am trying to consume external Web service(wsdl FILE) in sap for data integration but components from this namespace are not referenceable

More information

Developing Web Services. with Axis. Web Languages Course 2009 University of Trento

Developing Web Services. with Axis. Web Languages Course 2009 University of Trento Developing Web Services with Axis Web Languages Course 2009 University of Trento Lab Objective Develop and Deploy Web Services (serverside) Lab Outline WS Sum Up: WS-protocols Axis Functionalities WSDL2Java

More information

Getting started with Geomajas. Geomajas Developers and Geosparc

Getting started with Geomajas. Geomajas Developers and Geosparc Getting started with Geomajas Geomajas Developers and Geosparc Getting started with Geomajas by Geomajas Developers and Geosparc 1.12.0-SNAPSHOT Copyright 2010-2014 Geosparc nv Abstract Documentation for

More information

Artix for J2EE. Version 4.2, March 2007

Artix for J2EE. Version 4.2, March 2007 Artix for J2EE Version 4.2, March 2007 IONA Technologies PLC and/or its subsidiaries may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject

More information

Getting the Most from Eclipse

Getting the Most from Eclipse Getting the Most from Eclipse Darin Swanson IBM Rational Portland, Oregon Darin_Swanson@us.ibm.com March 17, 2005 What is Eclipse An extensible tools platform Out-of-box function and quality to attract

More information

Liberate your components with OSGi services

Liberate your components with OSGi services Liberate your components with OSGi services One products journey through the Modularity Maturity Model Alasdair Nottingham (not@uk.ibm.com) WebSphere Application Server V8.5 Liberty Profile Development

More information

BEAAquaLogic Enterprise Repository. Automation for Web Services Guide

BEAAquaLogic Enterprise Repository. Automation for Web Services Guide BEAAquaLogic Enterprise Repository Automation for Web Services Guide Version 3.0. RP1 Revised: February, 2008 Table of Contents Overview System Settings Properties for Managing WSDL- and UDDI-Related

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

Real World Axis2/Java: Highlighting Performance and Scalability

Real World Axis2/Java: Highlighting Performance and Scalability Real World Axis2/Java: Highlighting Performance and Scalability Deepal Jayasinghe WSO2 Inc. & Apache Software Foundation deepal@wso2.com Deepal Jayasinghe Real World Axis2/Java: Highlighting Performance

More information

User s Guide 12c (12.2.1)

User s Guide 12c (12.2.1) [1]Oracle Enterprise Pack for Eclipse User s Guide 12c (12.2.1) E66530-01 October 2015 Documentation that describes how to use Oracle Enterprise Pack for Eclipse, which is a set of plugins for Eclipse,

More information

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2 Maven Maven 1 Topics covered Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session Maven 2 Introduction to Maven Maven 3 What is Maven? A Java project management

More information

Programming Web Services in Java

Programming Web Services in Java Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning

More information

Spring Framework 5.0 on JDK 8 & 9

Spring Framework 5.0 on JDK 8 & 9 Spring Framework 5.0 on JDK 8 & 9 Juergen Hoeller Spring Framework Lead Pivotal 1 Spring Framework 5.0 (Overview) 5.0 GA as of September 28 th, 2017 one week after JDK 9 GA! Embracing JDK 9 as well as

More information

Lesson 10 BPEL Introduction

Lesson 10 BPEL Introduction Lesson 10 BPEL Introduction Service Oriented Architectures Module 1 - Basic technologies Unit 5 BPEL Ernesto Damiani Università di Milano Service-Oriented Architecture Orchestration Requirements Orchestration

More information

<put document name here> 1/13

<put document name here> 1/13 1/13 Last update: 08.04.2009 10:36:18 Author: Joern Turner 1 - Introduction...2 1.1 - What is XForms?...3 1.2 - What is Chiba?...3 2 - Getting

More information

Adobe Experience Manager

Adobe Experience Manager Adobe Experience Manager Extend and Customize Adobe Experience Manager v6.x Student Guide: Volume 1 Contents CHAPTER ONE: BASICS OF THE ARCHITECTURAL STACK... 10 What is Adobe Experience Manager?... 10

More information

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Java- EE Web Application Development with Enterprise JavaBeans and Web Services Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven

More information

WebSphere Application Server What s new in WAS V7.0 for Developers

WebSphere Application Server What s new in WAS V7.0 for Developers WebSphere Application Server What s new in WAS V7.0 for Developers 2009 IBM Corporation IBM WebSphere Application Server Family Multiple Business Models, Multiple Deployment Options Ultimate scalability

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

More information

UPS Web Services Sample Code Documentation

UPS Web Services Sample Code Documentation UPS Web Services Sample Code Documentation Version: 3.00 NOTICE The use, disclosure, reproduction, modification, transfer, or transmittal of this work for any purpose in any form or by any means without

More information

Apache CXF Web Services

Apache CXF Web Services Apache CXF Web Services Dennis M. Sosnoski Vancouver Java Users Group August 23, 2011 http://www.sosnoski.com http://www.sosnoski.co.nz About me Java, web services, and SOA expert Consultant and mentor

More information

CHAPTER 6. Organizing Your Development Project. All right, guys! It s time to clean up this town!

CHAPTER 6. Organizing Your Development Project. All right, guys! It s time to clean up this town! CHAPTER 6 Organizing Your Development Project All right, guys! It s time to clean up this town! Homer Simpson In this book we describe how to build applications that are defined by the J2EE specification.

More information

Red Hat JBoss Fuse 6.3

Red Hat JBoss Fuse 6.3 Red Hat JBoss Fuse 6.3 SwitchYard Development Guide Develop applications with SwitchYard Last Updated: 2018-02-07 Red Hat JBoss Fuse 6.3 SwitchYard Development Guide Develop applications with SwitchYard

More information

Web Services Development for IBM WebSphere Application Server V7.0

Web Services Development for IBM WebSphere Application Server V7.0 000-371 Web Services Development for IBM WebSphere Application Server V7.0 Version 3.1 QUESTION NO: 1 Refer to the message in the exhibit. Replace the??? in the message with the appropriate namespace.

More information

Tools to Develop New Linux Applications

Tools to Develop New Linux Applications Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

CS486: Tutorial on SOC, OSGi, and Knopflerfish. Ryan Babbitt (props to Dr. Hen-I Yang, CS415X) Feb. 3, 2011

CS486: Tutorial on SOC, OSGi, and Knopflerfish. Ryan Babbitt (props to Dr. Hen-I Yang, CS415X) Feb. 3, 2011 CS486: Tutorial on SOC, OSGi, and Knopflerfish Ryan Babbitt (rbabbitt@iastate.edu) (props to Dr. Hen-I Yang, CS415X) Feb. 3, 2011 Basic Concepts Service-oriented computing (SOC) Service-oriented architectures

More information

Oracle SOA Suite 12c : Build Composite Applications

Oracle SOA Suite 12c : Build Composite Applications Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Oracle SOA Suite 12c : Build Composite Applications Duration: 5 Days What you will learn This course teaches you to design and develop

More information

Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat

Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat Universita degli Studi di Bologna Facolta di Ingegneria Anno Accademico 2007-2008 Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat http://www lia.deis.unibo.it/courses/tecnologieweb0708/

More information

OpenECOMP SDC Developer Guide

OpenECOMP SDC Developer Guide OpenECOMP SDC Developer Guide Copyright 2017 AT&T Intellectual Property. All rights reserved. Licensed under the Creative Commons License, Attribution 4.0 Intl. (the "License"); you may not use this documentation

More information

Axis2 Tutorial. Chathura Herath, Eran Chinthaka. Lanka Software Foundation and Apache Software Foundation

Axis2 Tutorial. Chathura Herath, Eran Chinthaka. Lanka Software Foundation and Apache Software Foundation Axis2 Tutorial Chathura Herath, Eran Chinthaka Lanka Software Foundation and Apache Software Foundation Overview Introduction Installation Client demonstration - Accessing existing endpoint Implementing

More information

TestCases for the SCA Web Service Binding Specification Version 1.1

TestCases for the SCA Web Service Binding Specification Version 1.1 TestCases for the SCA Web Service Binding Specification Version 1.1 Committee Specification Draft 01 revision 1 + Issue 152 1 April 2011 Specification URIs: This Version: http://docs.oasis-open.org/opencsa/sca-bindings/sca-wsbinding-1.1-testcases-csd01-rev1.html

More information

Automation for Web Services

Automation for Web Services BEA AquaLogic TM Enterprise Repository (Evaluation Version) Automation for Web Services Table of Contents Overview System Settings Properties for Managing WSDL- and UDDI-Related Assets WSDL/UDDI Import/Export

More information

TestCases for the SCA Web Service Binding Specification Version 1.1

TestCases for the SCA Web Service Binding Specification Version 1.1 TestCases for the SCA Web Service Binding Specification Version 1.1 Committee Specification Draft 02 / Public Review Draft 02 14 July 2011 Specification URIs: This version: http://docs.oasis-open.org/opencsa/sca-bindings/sca-wsbinding-1.1-testcases-csprd02.pdf

More information

Struts 2 Maven Archetypes

Struts 2 Maven Archetypes Struts 2 Maven Archetypes DEPRECATED: moved to http://struts.apache.org/maven-archetypes/ Struts 2 provides several Maven archetypes that create a starting point for our own applications. Contents 1 DEPRECATED:

More information

Open ESB. Sang Shin, Java Technology Architect Sun Microsystems, Inc.

Open ESB. Sang Shin, Java Technology Architect  Sun Microsystems, Inc. Open ESB Sang Shin, sang.shin@sun.com Java Technology Architect www.javapassion.com Sun Microsystems, Inc. 1 Topics What is Open ESB? What is JBI? JBI and GlassFish Usage Scenario Open ESB Development

More information

Configuring Artifactory

Configuring Artifactory Configuring Artifactory 1 Configuration Files 2 Understanding Repositories 2.1 Local Repositories 2.2 Remote Repositories 2.3 Virtual Repositories 3 Common Repositories Configuration 3.1 Snapshots and

More information

Quick Start Axis2: From Newbie to SOAP Guru. By Deepal Jayasinghe WSO2 Inc. & Apache Software Foundation

Quick Start Axis2: From Newbie to SOAP Guru. By Deepal Jayasinghe WSO2 Inc. & Apache Software Foundation Quick Start Axis2: From Newbie to SOAP Guru By Deepal Jayasinghe WSO2 Inc. & Apache Software Foundation About the Presenter Technical Lead at WSO2 Inc. www.wso2.com A start-up aiming to develop and support

More information

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview Java Web Service Essentials (TT7300) Day(s): 3 Course Code: GK4232 Overview Geared for experienced developers, Java Web Service Essentials is a three day, lab-intensive web services training course that

More information

JVA-563. Developing RESTful Services in Java

JVA-563. Developing RESTful Services in Java JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop

More information