Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A programming model based on Service Component Architecture (SCA) that is specifically designed for building and integrating loosely-coupled systems.
  • The ability to use a variety of remote communication protocols in a unified, consistent manner without tying application logic to specific transport APIs.

...


In this chapter, we cover the basics of setting up and deploying an application using Fabric3. Subsequent chapters will cover developing loosely-coupled services, runtime configuration and topics such as integration with Java Persistence Architecture (JPA).
This manual  


The documentation assumes a basic understanding of SCA concepts. Before proceeding, if you have not done so, we recommend familiarizing yourself with SCA. The specifications themselves (downloadable from {+}http://www.oasis-opencsa.org/+) are generally not the most accessible source of introductory information. We recommend instead the paper by :

...

  • Jim Marino and Michael Rowley, Understanding SCA (Addison-Wesley), which provides an in-depth treatment

...

  • The Standalone Server: Fabric3 includes a server that can be run in a single VM or in a distributed environment with multiple runtime clusters. 
  • The Fabric3 Tomcat Runtime: This runtime is hosted in a Tomcat server. The Fabric3 Tomcat Runtime is integrated with Tomcat facilities including JMX and logging. This runtime provides additional services including support for service clustering, JTA transactions, and datasource pooling.
  • The Fabric3 WebLogic Runtime: This runtime is hosted in a WebLogic server. The Fabric3 WebLogic Runtime is integrated with WebLogic facilities including clustering, transactions, datasources, JMX and logging.
  • The iTest Runtime: The iTest runtime allows applications to be tested as part of a Maven project build. Fabric3 provides facilities for writing automated tests and mock services that can used to verify a complete application or individual subsystems in an automated fashion.
  • The Ant Runtime: The Ant runtime allows applications to be tested as part of a Ant project build. Similar to the Maven runtime, this distribution provides facilities for writing automated tests and mock services that can used to verify a complete application or individual subsystems in an automated fashion.
  •  

...

/bin

 

 

 

 

Startup modules

 

/lib

 

 

 

 

Modules required to start the runtime host

 

/boot

 

 

 

 

Modules required for the runtime bootstrap and primordial system services

 

/host

 

 

 

 

Libraries shared between the runtime and application (e.g. web services annotations)

 

/extensions

 

 

 

 

Extension modules that are able to be loaded by all runtime instances

 

/runtimes

 

 

 

 

Specific runtime instance configuration is hosted by default under this directory

 

 

<runtime-name>

 

 

top level directory for a runtime configuration

 

 

 

/config

 

 

Contains systemConfig.xml for configuring the runtime and extensions

 

 

 

/deploy

 

 

File system deploy directory for the controller and single-VM runtimes

 

 

 

/repository

 

 

 

 

 

 

 

/runtime

 

Extensions only loaded for the runtime image

 

 

 

 

/user

 

User contributions (only populated on the controller and single-VM runtimes)

 

 

 

/data

 

 

Persistent data directory for a runtime instance (e.g. transaction log)

 

 

 

/tmp

 

 

Temporary data and artifact cache for a runtime instance

 

...

java -jar server.jar controller 

launches a runtime using the runtimes/controller image

java -jar server.jar vm

launches a runtime using the runtimes/vm image

java -jar server.jar participant

launches a runtime using the runtimes/participant image

java -jar server.jar foo

launches a custom runtime using the runtimes/foo image

...

  • of SCA using Fabric3. 

The Samples


The samples are intended to demonstrate the capabilities of Fabric3 using the standalone or Tomcat distributions. The samples contain individual applications designed to showcase specific features and are organized as follows:

...


For projects that intend to use Spring, Fabric3 also ships with a set of dedicated Spring samples. These samples are ports of the SCA Java samples described in this chapter, with SCA Java components replaced by Spring beans. Basic layout, configuration and deployment remain the same across both sets of samples.

...


Prerequisites


The samples may be downloaded from {+}http://www.fabric3.org/downloads+ and require the following software:

...


Note that it is not necessary to download the Fabric3 runtime distribution in addition to the samples as the sample build process will automatically download a distribution and configure a Fabric3 runtime cluster.

...

 

Building and Deploying The Starter Applications


The starter calculator applications are the recommended way to get familiar with Fabric3. To build and deploy the calculator applications, do the following:

...

...

  •  and its WSDL

...

The samples also contain a separate client for the web services calculator. The client module is located at /samples/wscalc-client. The WSCalcClient class can be executed using the Java command line or via an IDE.

...

Building and Deploying BigBank


To build and deploy BigBank, do the following:

...


BigBank includes a web application front-end and loan officer web application. Note both web applications currently do not support Internet Explorer. Please use FireFox, Chrome, or Safari.
Copy bigbank-web-1.7.jar and bigbank-backoffice-1.7.jar to the runtimes/vm/deploy directory.

...



Deploying BigBank to a Distributed Domain


The samples distribution also contains an automated build process for producing a set of clustered servers. To create the clustered servers, execute the following from the servers/cluster directory:
mvn clean install


...