Announcing Fuse Service Works 6.0 Beta!
Overview of FSW
JBoss
Fuse Service Works (FSW), formerly named SOA-Platform, is the Red Hat
middleware solution for application integration, messaging and SOA
integration. It combines the technical innovations from open source
communities including the core integration technologies from the
FuseSource acquisition to address integration requirements.
JBoss
Fuse Service Works consists of several leading open source projects
from JBoss and Apache communities such as:
- SwicthYard – business services and SCA capabilities
- RiftSaw - service orchestration capabilities
- Overlord - service governance and activity monitoring
- Drools – business rules processing
- Apache Camel, Apache CXF and Apache ActiveMQ - core integration capabilities
The component versions are this point are:
- Overlord Runtime Governance - 1.0.0.Final
- Overlord Design Time Governance - 1.0.0.Final
- Overlord S-RAMP - 0.3.0.Final
- ModeShape - 3.5.0.Final
- SwitchYard - 1.1.0.M3
- Camel - 2.10.0
- EAP - 6.1.0
- Smooks - 1.5.1
- Drools/jBPM - 6.0.0.CR3
Below
each project is highlighted and then we have a sample application to
get you started. The Home Loan FSW Application walks you through
building your first FSW application. So
to get started let's first go through the components in a little
detail:
Apache
Camel - implementation
of the popular and widely used Enterprise Integration Patterns (EIP)
framework for routing, transformation that enables faster and more
efficient integration solutions
Apache
ActiveMQ - high
performance, reliable messaging broker that supports messaging
patterns such as publish-subscribe, point-to-point and store-forward,
and multiple cross language clients
Apache
CXF - web
services framework which exposes integration assets as services and
calls external services, supporting all major web services standards.
SwitchYard
– lightweight service delivery framework, based on SCA (Service
Component Architecture), providing full life-cycle support for
developing, deploying, and managing service-oriented applications
Design time Governance
(Overlord) –
manage the life-cycle of services from design, development through
deployment by defining, exposing and enforcing rules or policies
- Built on top of the S-RAMP artifact repository
- Supports triggering Governance Workflows based on repository changes
- Embeds jBPM 6 to support workflow execution
- Maps an S-RAMP query to a workflow definition
- Includes an out-of-the-box Governance Workflow to handle Deployment Lifecycle Management
- Implements several REST services to support Governance Workflows
- General purpose Notification (email) Service
- Artifact meta-data Update Service (used to add meta-data to the S-RAMP artifact being governed)
- Deployment Service used to deploy binary artifacts into runtime EAP systems
- Supports RHQ
- Supports JBoss AS CLI
- Supports direct file copying
- Can also deploy into a Maven repository
- Supports multiple, configurable logical deployment targets (e.g. DEV, TEST, PROD)
- Web UI
- Includes a Task Inbox for human tasks created by the Governance Workflows
- Provides a UI specific to the Deployment Lifecycle Governance Workflow
- Can drill into a deployment to see its contents
- Shows the change history for a deployment
- Provides a way to see which deployments are deployed to which environments
Overlord
Runtime Governance (Overlord)
– capture service activity information, define and collect metrics,
define alerts to optimize and meet Business/Service Level Agreements
(SLA)
- Activity Collector
- Activity events can be reported directly to the Activity Server via REST service, OR
- Embedded collector to intercept activities, pre-process the information to extract correlation details and business relevant properties, before batching events for distribution to the server.
- Events can be 'validated' using pluggable event processors, which can be used to block business transactions
- Activity Server
- Provides a REST interface to enable events to be reported
- Persists activity information
- Distributes reported events to subscribed components.
- Event Processor Network
- Subscribes to the Activity Server, to receive reported activity events
- Distributes activity events through a series of registered networks, that consist of event processors to validate, transform and retransmit events. Processors can be specified using Java, Drools CEP rules and MVEL.
- Maintaining Derived Results
- Information derived by the Event Processor Network can be presented as a set of 'active' collections
- Components can directly access these collections, or issue queries through a REST API.
- Web UI
- Runtime governance information is provided through a set of gadgets.
- Service Response Time Gadget - displays response time information per service and optionally operation.
- Situations Gadget - table for displaying situations detected by the event processing (e.g. SLA violation)
- Call Trace Gadget - provides a tree based visual display of the call stack associated with a business transaction
- Service Overview - graphical representation of the services and their dependencies, showing response time and invocation details.
Introducing the Home Loan FSW Application 1.0
TheHome Loan FSW Application 1.0 in a nutshell takes a home loan application in Fannie Mae standard and processes it through the system to get a decision. The diagram below is a high level overview of the application.
For
our sample we are a creditor service and receive loan applications
from different interfaces like messaging and SOAP in a special
format, “Fannie Mae 1003 Loan Application”. Each application is
processed with customer data based on different sources. According
to a business process, if it's an existing customer there is a manual
task to be performed by a loan officer. Otherwise it is an automatic
task performed by business rules. The
business process is shown below which is
from the IDE.
The
Home Loan v1 on FSW 6.0
is using Switchyard, DTGov and Camel. We are also using Data
Virtualization 6.0. In
the future we will be adding RTGov in the demo. The
application can be viewed through the Switchyard composite
in the IDE.
The diagram below
describes the pieces of the Switchyard composite.
Download
the FSW and DV Enterprise Products from jboss.org at
http://www.jboss.org/products.
Check out additional code on
www.github.com/FuseServiceWorksByExample. Check
out the Wiki for step by step instructions for setting up and running
the sample application. We
will by adding more to this example for the different components.