Created by Luan Cestari / G+/ Facebook/ @BR_LuanCestari
http://bit.ly/111MbzV
Luan = algorithms + entrepreneur + computer nerd/geek + open source
Are you a boy or a girl?
To much data and Endpoints!!!
The problems
.
..
An Enterprise Integration Framework
More! It's Integration Suite!!!
CXF
ActiveMQ
Camel
ServiceMix
Karaf
Fabric
Apache Felix
Apache Aries
Apache Cloudstack
and so on...
Apache Camel
Most widely used integration framework!
+130 components
DSL (in Java & Spring)
Deploy anywhere!
Support Transactional SEDA architecture
Basically 3 types of classes:
Example of Camel DSL:
Some Integration Patterns:
How Camel works:
Real world Example in Java:
from("ftp://john@localhost/ftp?password=nhoj")
.to("xslt:MyTransform.xslt")
.to("activemq:queue:MyQueue")
Real world Example in XML:
<camelContext id=“camel” xmlns=“http://activemq.apache.org/camel/schema/spring”>
<route>
<from uri=“ftp://john@localhost/ftp?password=nhoj”/>
<to uri=“xslt:MyTransform.xslt”/>
<to uri=“activemq:queue:MyQueue”/>
</route>
</camelContext>
Apache CXF
Leading open source web services stack for Java
JAX‐WS and JAX‐RS Certified
Very flexible
Reference implementation of OSGi Remote Services Specification
Used by Google, TomTom, FuseSource, JBoss, WS02, Paramiti, MuleSoft, Talend, TomEE etc
Rest:
Rest actions:
Rest example:
@Path("/user-service/")
@Produces("application/xml")
public interface UserService {
@GET
@Path("/users")
@Produces({"application/xml", "application/json"})
public UserCollection getUsers();
@GET
@Path("/user/{id}")
public User getUser(@PathParam("id") Integer id);
}
SOAP and WSDL:
SOAP Request:
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
JAX-WS and Security:
Apache ActiveMQ
Overview:
Failover
High Availability:
Broker Topologies
Horizontal and Vertical Scaling
Apache Karaf
OSGi Alliance
Expert groups define the plataform
Problems of Java EE
Lightweight OSGi container
Felix as OSGi Runtime
Provisioning
Powerful command line shell and Web
Highly extensible
Dynamic Configuration
Logging from mutplie APIs
Deployer
OS integration
Security
Instances Management
Apache ServiceMix
Overview:
Normalized Message Router (NMR) (Camel Container)
JBI Container
Handles XML, POJO
Listener for endpoints and wiring them
Fuse Fabric
Why:
Support Hybrid deployments on premise, on cloud, on both
Destributed Configuration
Runtime Registry
Destributed Management