Enterprises usually have more than one application
- Custom build applications
- Legacy systems
- ERP, CRM systems like SAP, Salesforce etc.
Users expect instant access to all business functions an enterprise can offer.
This requires disparate applications to be connected into a larger, integrated solution.
This integration is usually achieved through the use of some form of "middleware“.
3. Who We Are
We are a Development Partner for our customers
Design software solutions, not just implement them
Focus on the solution – Platform and technology agnostic
Expertise in building applications that are:
Mobile Social Cloud-based Gamified
4. What We Do
Areas of Focus
Enterprise
Custom enterprise applications
Product development targeting the enterprise
Mobile
Custom mobile apps for iOS, Android, Windows Phone, BB OS
Mobile platform (server-to-server) development
Social Media
CMS based websites for consumers and enterprise (corporate, consumer,
community & social networking)
Social media platform development (enterprise & consumer)
5. Folio3 At a Glance
Founded in 2005
Over 200 full time employees
Offices in the US, Canada, Bulgaria & Pakistan
Palo Alto, CA.
Sofia, Bulgaria
Karachi, Pakistan
Toronto, Canada
6. Areas of Focus: Enterprise
Automating workflows
Cloud based solutions
Application integration
Platform development
Healthcare
Mobile Enterprise
Digital Media
Supply Chain
8. Areas of Focus: Mobile
Serious enterprise applications for Banks,
Businesses
Fun consumer apps for app discovery,
interaction, exercise gamification and play
Educational apps
Augmented Reality apps
Mobile Platforms
10. Areas of Focus: Web & Social Media
Community Sites based on
Content Management Systems
Enterprise Social Networking
Social Games for Facebook &
Mobile
Companion Apps for games
12. An introduction toAn introduction to
Enterprise Service BusEnterprise Service Bus
www.folio3.com @folio_3
13. Background
Enterprises usually have more than one application
Custom build applications
Legacy systems
ERP, CRM systems like SAP, Salesforce etc.
Users expect instant access to all business functions an enterprise can
offer.
This requires disparate applications to be connected into a larger,
integrated solution.
This integration is usually achieved through the use of some form of
"middleware“.
14. Middleware Solutions
MOM (Message Oriented Middleware)
SOA (Service Oriented Architecture)
ESB (Enterprise Service Bus)
18. ESBs used by
Google
Yahoo
Walmart
Ebay
Bank of America
Verizon
Nestle
Adobe
Motorola
T-Mobile
Xerox
19. Enterprise Service Bus (ESB)
ESB is a software infrastructure that facilitates application integration.
An ESB provides an abstraction layer on top of an implementation of
an enterprise messaging system, which allows integration architects to
exploit the value of messaging without writing code. The ESB forms the
backbone of the SOA system and provides necessary infrastructure for
building SOA applications. It acts as a transit system or bus through
which different applications talk to each other using different protocols
and message formats.
20. Enterprise Service Bus (ESB)
Integrates applications
Coordinates resources
Manipulates information
Enables the connection of software that runs on:
Different platforms
Different programming languages
Different programming models.
25. Data Transformation
Object to XML Transformer
XML to Object Transformer
XML to String Transformer
XSLT Transformer
Xquery Transformer
Custom Transformer
Smooks
Etc.
26. Data Mapping
Database to XML
XML to Database
Object to XML
Object to Database
XML to Object
Database to Object
BPEL and Smooks Mapper
Etc.
29. No Router
If no router is defined on the inbound, all messages received via the
endpoints will be processed by the service component.
<inbound>
<jms:inbound-endpoint queue=“inbound.A"/>
</inbound>
<component class="PatientEvaluationService“/>
30. Selective Consumer
Can apply one or more filters to the incoming message.
If the filters match, the message is forwarded to the component.
Otherwise, the message is forwarded to the catch-all strategy on the router.
<selective-consumer-router>
<jxpath-filter expression="msg/header/resultcode = 'success'"/>
</selective-consumer-router>
<forwarding-catch-all-strategy>
<jms:endpoint topic="error.topic"/>
</forwarding-catch-all-strategy>
31. Outbound Routers
Pass through Router
Filtering Router
Recipient List Routers
Multicasting Router
Chaining Router
List Message Splitter
Filtering XML Message Splitter
Expression Splitter Router
Exception Based Routers
Template Endpoint Router
Custom Outbound Router
32. Matching All Routers
A message is processed only by the FIRST outbound router
whose conditions it matches
Matching All Routers is used for processing by ALL the matching
outbound routers
For example, assume you always want to send a confirmation of
a deposit back to the original depositor. Also assume that if the
deposit was above $100,000, you want to send a notification
message to the 'high net worth client manager' for possible
follow-up