What is the FTP BC?
Binding components are used to send and receive messages via particular protocols and transports. They serve to isolate the JBI environment from the particular protocol by providing normalization and denormalization from and to the protocol-specific format, allowing the JBI environment to deal only with normalized messages – JBI Specification 1.0 (JSR 208).
Open ESB FTPBC is JSR 208 compliant, it provides a message transportation via FTP protocol so that services (which comprise operations) can be defined using WSDL and bound to FTP as its underlying message transportation protocol, other components in a JBI environment (for example, an SE can further orchestrate the services consumption and provision).
FTP BC implements all required BC interfaces in JBI specification so that it can be deployed and run in any JBI compliant target environment.
To facilitate the process of service definition and binding, the implementation also comes with a design-time component, a NetBeans module which makes WSDL authoring and FTP binding a convenient process in NetBeans IDE.
Using the FTP BC
- Using the FTP Binding Component (Guide)
- Working With the FTP Binding Component (Tutorial)
- Build a Sample Online Distributor’s Inventory Processing System Using FTP Binding Component (Screencast)
- Getting Started
– Illustrates FTP BC’s basic features and shows how to use it in a composite application with File BC and BPEL SE.
- Create Composite Application Using FTPBC – Screen casts of sample projects construction demonstrating how to use FTPBC’s basic and advanced features such as messaging over FTP/TLS, QoS, such as, Application Configuration, Application Variables, Redelivery, etc.
- WSDL Extensibility Elements Reference – This document includes detailed description of FTPBC WSDL extensibility elements and their attributes.
- Dynamic Binding Using NM Properties
- Using FTP BC in Glassfish ESB v3
– this write up shows how to compose an v3 Integration Application with IFL and File/FTP services using IDE tooling and webui as well.
Features
- Regular and Secured FTP
- Connection Pooling
- Clustering Support How To
- Qualities of Services
- Component Logging Systemic Quality
- Application Variable and Application Configuration How To
- Runtime Monitoring (MBean)
- Re-Delivery How To
- Throttling
- FTPBC Defined Normalized Message Properties FTP BC Defined NM properties
- Dynamic Addressing How To
- Recovery (at least once delivery) How To
- Message Type Enhancement
- Support Binary Message Content and Message As Attachment
- Support Configurable Character Encoding for message content
- Message Sequence Numbering
- Local Message Sequence Type 1
- Transient Message Sequence
- WSDL Extensibility Elements:
- ftp:transfer – specify message transportation involving a sending party and a receiving party via FTP
- ftp:message – specify message transportation between a service consumer and a service provider via FTP
- ftp:address – specify endpoint for message transportation via FTP
- ftp:binding – specify a FTP binding indication
- ftp:operation – specify a FTP operation indication
- Synchronous Request-Response: a file name tagging scheme that is implemented by the BC to help correlating the request with the response for a synchronous service invoke, user can enabled to by configuring an attribute value for one of the transfer extensibility elements (ftp:transfer, ftp:message)
- Directory Listing Styles
- UNIX
- NT 4.0
- VMS
- AS400
- AS400-UNIX
- UNIX (SJIS)
- …
- User Defined FTP Directory Listing Style
- Proxies
- SOCKS4
- SOCKS5
- Pre and Post Operations
- DELETE – for post GET operation
- COPY – for post GET operation
- RENAME – for pre GET, post GET, and post PUT operation
System requirements and dependencies
No special requirements
Trouble?
Please post questions on the OpenESB mailing list. File bugs in the OpenESB issue tracker
; use the FTP BC category.
Evolution of the FTP BC
What is new?
The FTP BC was released with GlassFish ESB v2, v2.1
To Do’s
- Transactional Messaging
- Message Level Security
- Humongous Message Processing, Streaming
- Message Sequence Numbering
- Local Message Sequence Type 2
- Global Message Sequence
- SFTP Support (draft-ietf-secsh-filexfer
)
Team
- Developers working on the FTP BC: Jim Fuqian (jfu@dev.java.net)