Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What is Fabric3?

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for Fabric3 Fabric3
October 30, 2012

What is Fabric3?

A short introduction to the Fabric3 Platform

Avatar for Fabric3

Fabric3

October 30, 2012

Other Decks in Programming

Transcript

  1. Composite Application •  Architected as a set of modular, reusable

    services •  Has both loosely and tightly coupled parts •  May be distributed or may run in a single process •  Often requires integration with legacy and third-party systems •  Typically has an interoperability layer (Web Services or REST) as well as an internal communications (MOM) layer
  2. Platform •  Scales up to distributed environments and scales down

    to small, single processes. •  Ubiquitous. Deploy standalone, in a Servlet container, in a Java EE application server, as part of an automated test environment (Maven, Ant). •  Extensible and customizable. Create features, configure custom runtime profiles. •  Standards based. Service Component Architecture, Spring, Web Services, JAX- RS, JPA/Hibernate.
  3. Reduced Complexity Communications are abstracted so applications are not polluted

    with boilerplate API calls. Remote calls – synchronous and asynchronous – are simple Java invocations. public class ServiceClient {! !@Reference! !protected Service service;! !public void invoke() {! !!Message message = …! !!service.call(message);! !}! }! Service Service Client JMS Web Services Communications Fabric Communications Fabric
  4. Enhanced Reuse Services can be exposed over multiple transports and

    protocols through minimal configuration <component name="LoanService”>! !<implementation.java class=”…."/>! !<service name="LoanService">! !!<binding.ws uri="wsloan"/>! !</service>! !<service name="RsLoanService">! !!<f3:binding.rs uri="/rsloan"/>! !</service>! !<service name="LoanGateway">! !!<f3:binding.file location="receive.queue”/>! !</service>! !<reference name="responseQueue">! !!<f3:binding.file location="response.queue"/>! !</reference>! </component>! REST LoanService Web Services File System Communications Fabric
  5. No communications API calls makes distributed applications unit test-friendly and

    integration testing lightweight. Remote services can be mocked. Improved Testability public class ServiceClient {! !@Reference! !protected Service service;! !public void invoke() {! !!Message message = …! !!service.call(message);! !}! }! Remote service is mocked
  6. Services are assembled through configuration, providing a unified model for

    modularity and communications as well as the ability to holistically design an application architecture. Services can be connected via synchronous request-reply, asynchronous one-way and pub/sub patterns. Architectural Consistency REST Web Services File System Channel Database