summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/branches/sca-java-1.6.2/demos/bigbank/README
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.6.2/demos/bigbank/README')
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.2/demos/bigbank/README174
1 files changed, 174 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.2/demos/bigbank/README b/sca-java-1.x/branches/sca-java-1.6.2/demos/bigbank/README
new file mode 100644
index 0000000000..bef1200578
--- /dev/null
+++ b/sca-java-1.x/branches/sca-java-1.6.2/demos/bigbank/README
@@ -0,0 +1,174 @@
+BigBank Demo
+============
+
+This application is made of 3 modules that represent the different aspects
+of a fictitious banking application. Please see bigbank.png for a diagram of this demo.
+
+To run the bigbank demo you need to first run the bigbank-calculator and bigbank-stockquote demos. This will start these
+applications on separate copies of the Tuscany runtime and make them available as services. The bigbank demo is dependent
+on these services.
+
+
+Start bigbank-calculator demo
+-----------------------------
+The bigbank-calculator demo is a calculator application which handles add, subtract, multiply and divide operations.
+Each of these operations is implemented in a different language, including JavaScript, Groovy, Ruby and Python.
+
+To run the bigbank-calculator demo and make it available as a service for this demo do the following:
+
+cd bigbank-calculator
+ant run
+
+OR if you don't have ant, on Windows do
+
+java -cp ..\..\lib\tuscany-sca-manifest.jar;target\demo-bigbank-calculator.jar calculator.demo.CalculatorServer
+
+and on *nix do
+
+java -cp ../../lib/tuscany-sca-manifest.jar:target/demo-bigbank-calculator.jar calculator.demo.CalculatorServer
+
+.. Leave the server running
+
+
+Start bigbank-stockquote demo
+-----------------------------
+This is a very simple web services based stock quote application which returns random stock quotes on request. Please note that the stockquote service
+is not live and is implemented instead to allow for this application to always run without depending on the availability of a web service.
+
+cd bigbank-stockquote
+ant run
+
+OR if you don't have ant, on Windows do
+
+java -cp ..\..\lib\tuscany-sca-manifest.jar;target\demo-bigbank-stockquote.jar stockquote.demo.StockQuoteServer
+
+and on *nix do
+
+java -cp ../../lib/tuscany-sca-manifest.jar:target/demo-bigbank-stockquote.jar stockquote.demo.StockQuoteServer
+
+.. Leave the server running
+
+
+Start bigbank demo
+------------------
+The main bigbank demo comprises two subsystems that are built from two distinct contributions coming from the
+following demo modules ...
+
+1) bigbank
+ This contains all artifacts that make up the main bigbank application. This is the application that the
+ end user interacts with.
+
+2) bigbank-account
+ This contains all artifacts that deal with account management within the bigbank demo. The services
+ offered by the bigbank-account module are used by the bigbank module. The end user doesn't directly
+ interact with the bigbank-account module.
+
+Besides using bigbank-account the bigbank composite application invokes services in bigbank-stockquote and
+bigbank-calculator.
+
+Start the bigbank application in the following way:
+
+cd bigbank
+ant run
+
+OR if you don't have ant, on Windows do
+
+java -cp ..\..\lib\tuscany-sca-manifest.jar;target\demo-bigbank.jar bigbank.demo.BigBankServer
+
+and on *nix do
+
+java -cp ../../lib/tuscany-sca-manifest.jar:target/demo-bigbank.jar bigbank.demo.BigBankServer
+
+.. Leave the server running
+
+
+Bigbank and SCA Policies
+------------------------
+The Bigbank demo uses the Tuscany Policy Framework to enforce security in the following ways:
+
+Authentication
+--------------
+ The bigbank-account subsystem enforces authentication as a required security characteristic for
+ all interactions with its CheckingAccountService. Hence the bigbank application which is a client
+ to this service authenticates itself for every interaction with the CheckingAccountService. The interaction
+ between the bigbank application and the CheckingAccountService is over the web service binding.
+
+Integrity
+---------
+ All interactions of the bigbank application with the StockQuoteService are guarded with message integrity.
+ These interactions use the web service binding.
+
+Authorization
+-------------
+ Within the bigbank-account subsystem the CheckingAccountService implementation enforces authorization on
+ its operations. This is an instance of a custom policy enforcement i.e. the CheckingAccountService
+ component's implementation has defined its own customized way of authorizing access to its services.
+
+
+Demonstrated Features
+---------------------
+This demo illustrates the following : -
+- composition of an application using artifacts belonging to multiple contributions (here two)
+- usage of SCA policies in composite definitions with specific emphasis on enabling security
+
+
+Run the demo
+------------
+The front end of this demo application is a web app which users JSON-RPC to communicate with the back end for
+retrieving account information.
+
+To try the app out point your browser at:
+
+http://localhost:8085/AccountJSON.html
+
+This should display an interface with a single button that retrieves a single set of account details
+exercising services across the three running SCA applications.
+
+If you press the getAccountReport button, you'll see a summary response posted in the browser and
+the detailed data will be displayed in the console where you started bigbank. Among other things
+you will note messages that confirm the enforcement of AUTHENTICATION, AUTHORIZATION and
+SIGNING of messages exchaged.
+
+On the console where you have started the StockQuote Service you should also be able to see messages
+that confirm the signing of messages exchanged.
+
+
+Stop the demo
+-------------
+Go to each of the corresponding command line screens and hit 'enter'.
+This will stop each of the applications.
+
+
+Building the Demo Using Ant
+---------------------------
+With the binary distribution the demo can be built using Ant as follows:
+
+cd bigbank-calculator
+ant compile
+
+cd bigbank-stockquote
+ant compile
+
+cd bigbank-account
+ant compile
+
+cd bigbank
+ant compile
+
+
+Building the Demo Using Maven
+-----------------------------
+With either the binary or source distribution the demo can be built using
+Maven as follows:
+
+cd bigbank-calculator
+mvn
+
+cd bigbank-stockquote
+mvn
+
+cd bigbank-account
+mvn
+
+cd bigbank
+mvn