| ID | Description | Release | Priority |
|---|---|---|---|
| S-1 | Threading model that avoids context switches for outbound SMTP interactions | Kenai | P2 |
| S-2 | Routing of inbound messages to particular operations based on SMTP-specific feature. This is a similar requirement to something like the SOAP Action URI. | P2 | |
| S-3 | Full internationalization of all logging and error messages | Kenai | P1 |
| S-4 | Full Junit tests for all classes | Kenai | P1 |
| ID | Description | Release | Priority |
|---|---|---|---|
| I-1 | Full Javadocs and Documentation | P1 |
| ID | Description | Release | Priority |
|---|---|---|---|
| DT-1 | Support adding SMTP Extensibility Elements individually in the WSDL Editor | Kenai | P1 |
| DT-2 | Support adding SMTP Templates | Kenai | P1 |
| DT-3 | Support for validating SMTP Extensibility Elements in the WSDL editor | Kenai | P1 |
| ID | Description | Release | Priority |
|---|---|---|---|
| RT-1 | Basic Outbound SMTP. Ability to send email messages with subject and content to an email address | Kenai | P1 |
| RT-2 | Basic Inbound SMTP. Ability to receive email addresses and forward it to JBI components | Kenai | P1 |
| RT-2.1 | Full support of SMTP timeouts | P2 | |
| RT-3 | Full support for RFC 2368 (mailto:) protocol including multiple recipients, bcc, cc. | Kenai | P1 |
| RT-3.1 | Support mailbox address specifications that are basic (foo@sun.com), have phrases (User | Kenai | P1 |
| RT-3.2 | Support for any header in the mailto: protocol, with specific interpretation of the cc, bcc, to headers within the SMTPBC | Kenai | P1 |
| RT-3.3 | Support URL encoding of mailboxes and headers | Kenai | P1 |
| RT-4 | Add âFromâ attribute in extensibility elements. Ability to dynamically specify the âFromâ email id in the runtime. | Kenai | P1 |
| RT-5 | Support for multiple recipients, bcc, and cc lists. Ability to send emails to multiple recipients specifying bcc and cc lists in the mailto URL. Also in the Inbound scenario, accept emails which are in cc and bcc lists. | Kenai | P1 |
| RT-6 | Support for HTML Formatted messages. Ability to send and receive HTML formatted messages. | P2 | |
| RT-7 | Sending Undeliverable mail messages. Sending delivery status failure notification emails. | P2 | |
| RT-8 | Configurable SMTP Port. The ability for a user to configure the port on which the SMTP server has to run. | Kenai | P1 |
| RT-9 | Encoding Support. Support for encoders using âuseâ and encodingStyle Attribute. Support for custom encoder. | Kenai | P1 |
| RT-10 | Ability to connect to external SMTP servers which requires authentication and SSL. | Kenai | P1 |
| RT-11 | Ability to specify the email ids in âtoâ, âccâ and âbccâ list in the runtime. | Kenai | P1 |
| ID | DT-UC-1 |
|---|---|
| Use Case Name | Adding individual SMTP Extensibility elements to a WSDL The âAdding individual SMTP Extensibility elements to a WSDLâ Use Case describes a scenario where individual extensibility elements are added to a WSDL document through the WSDL Editor. (Screenshots will be attached at a later date) |
| Requirements Addressed | DT-1 |
| Pre Condition | A new, empty WSDL Document is created in the WSDL Editor. |
| Normal Flow | 1. Create a new Binding Element from the root node.. 2. For this new Binding Element add a âSMTP Binding Elementâ. 3. Associate the Binding Element with a PortType. 4. Add a Binding Operation for the Binding Element. 5. For the new Binding Operation, add a âSMTP Binding Operationâ. 6. On the Input node for the new Binding Operation, add a new âSMTP Messageâ. 7. Create a new Service Element from the root node. 8. Create a new Port element from the Service element. 9. Add a SOAP Address element. |
| Exception Flow | |
| Post Condition | A WSDL is populated with all known SMTP Extensibility Elements |
| ID | DT-UC-2 |
|---|---|
| Use Case Name | Adding a SMTP template to a WSDL The âAdding a SMTP template to a WSDLâ Use Case describes a scenario where the wizard assists the user in generating SMTP Extensibility Elements. |
| Requirements Addressed | DT-2 |
| Pre Condition | |
| Normal Flow | 1. The use case begins with the creation of a WSDL Document in the WSDL editor using the wizard. 2. The fourth step in the wizard shows a drop down list which displays many bindings. 3. Select the SMTP binding. 4. Select the only Binding Subtype. 5. Click okay. |
| Exception Flow | |
| Post Condition | The generated WSDL should have SMTP extensibility elements at the binding level, the binding operation level, the binding operation input level, and the port level. |
| ID | DT-UC-3 |
|---|---|
| Use Case Name | Validating SMTP Extensibility Elements in the WSDL Editor The âValidating SMTP Extensibility Elements in the WSDL Editorâ Use Case describes a scenario where validation of SMTP Extensibility Elements is invoked from the WSDL Editor. |
| Requirements Addressed | DT-3 |
| Pre Condition | A WSDL containing SMTP Extensibility elements |
| Normal Flow | 1. Click on the validate button in the WSDL Editor tool bar. 2. On the WSDL file in the Project explorer, right-click to bring up the menu. 3. Click on the âValidate XMLâ option. |
| Exception Flow | |
| Post Condition | The WSDL Validation window should pop up at the bottom of the editor. In a normal flow case, there will be a statement saying no errors were found. In the exception flow case, there will be a dialog showing all the errors. |
| ID | RT-UC-1 |
|---|---|
| Use Case Name | SMTP Outbound Use Case The SMTP Outbound Use case describes a scenario where the concrete binding of an abstract operation uses SMTP as the transport mechanism. The abstract operation is invoked by a BPEL process. |
| Requirements Addressed | RT-1 |
| Pre Condition | A deployed BPEL project with a BPEL that is triggered by a web service client using a concrete HTTP/SOAP Binding. The BPEL invokes a web service operation with a concrete SMTP Binding |
| Normal Flow | 1. This use case begins with a web service client invoking an In-Only abstract operation implemented by a BPEL process. The abstract operation has a concrete HTTP SOAP binding so the client must use SOAP over HTTP to properly invoke the operation. 2. The HTTP Binding Component receives the message, converts it from the SOAP message to a Normalized Message, and forwards the Normalized Message through the Normalized Message Router (NMR) to the awaiting BPEL process. 3. The BPEL process receives the message for the abstract operation and then invokes a different In-Only abstract operation. This abstract operation has a concrete SMTP binding. 4. When the BPEL process invokes the abstract operation, a Normalized Message is generated and sent to the NMR. 5. The SMTP Binding Component picks up the Normalized Message, converts it to a proper SMTP message, and sends it to an SMTP server that will process the request. The SMTP message will contain at minimum the âToâ address. |
| Exception Flow | |
| Post Condition | A mail message should appear at the account specified by the âToâ address in the SMTP message |
| ID | RT-UC-2 |
|---|---|
| Use Case Name | SMTP Inbound Use Case The SMTP Inbound Use case describes a scenario where the concrete binding of an abstract operation uses SMTP as the transport mechanism. The abstract operation is implemented by a BPEL process. |
| Requirements Addressed | RT-2 |
| Pre Condition | A deployed BPEL project with a BPEL that is triggered by a web service client using a concrete SMTP Binding. |
| Normal Flow | 1. The use case begins with a web service client invoking an In-Only abstract operation implemented by a BPEL process. The abstract operation has a concrete SMTP binding so the client must use the SMTP protocol to properly invoke the operation. 2. The SMTP Binding Component receives the SMTP Message (which must have at minimum the âToâ field populated). 3. The SMTP Binding Component converts the SMTP Message to a Normalized message and sends it to the NMR. 4. A BPEL process being handled by the BPEL Service Engine handles the abstract message, and returns a status message of either DONE or ERROR. 5. Based on the status message, the SMTP BC returns the proper message to the web service client. |
| Exception Flow | |
| Post Condition | The web service client reports no errors |
| ID | RT-UC-3 |
|---|---|
| Use Case Name | SMTP Address with the âmailto:â URL The âSMTP Address with the âmailto:â URLâ Use Case describes a scenario where the location attribute of the |
| Requirements Addressed | RT-3.1, RT-3.2, RT-3.3 |
| Pre Condition | |
| Normal Flow | 1. Create a BPEL project. 2. Create a WSDL in the WSDL Editor. 3. Add a 4. Set the location attribute is set to any number of valid mailto URL variations. 5. The rest of the BPEL project is created and deployed through a Composite Application project. |
| Exception Flow | 1. Create a BPEL project 2. Create a WSDL in the WSDL Editor. 3. Add a 4. Set the location attribute is set to any invalid mailto URL variations. 5. The rest of the BPEL project is created and deployed through a Composite Application project. |
| Post Condition | In the normal flow scenario, deployment succeeds. In the exception flow scenario, the deployment fails. |
| ID | RT-UC-4 |
|---|---|
| Use Case Name | SMTP âFromâ, âSubjectâ, and âMessageâ Attribute The âSMTP âFromâ, âSubjectâ, and âMessageâ Attributeâ Use Case describes a scenario where any combination of these attributes are present in an underlying SMTP Message when invoking or implementing a web service that uses SMTP as the transport mechanism. |
| Requirements Addressed | RT-4 |
| Pre Condition | |
| Normal Flow | The use case is equivalent to the SMTP Outbound Use Case and the SMTP Inbound use case, but with combinations of these attributes being set. |
| Exception Flow | |
| Post Condition |
| ID | RT-UC-5 |
|---|---|
| Use Case Name | SMTP Support for multiple recipients through âbccâ and âccâ The âSMTP Support for multiple recipients through âbccâ and âccââ Use Case describes a scenario where a single message is sent to multiple recipients. If we view SMTP as a transport mechanism for abstract messages, then each recipient may be seen as a different channel for which to send messages. |
| Requirements Addressed | RT-5 |
| Pre Condition | A deployed SMTP Outbound project with a mailto URL set to include bcc and cc values |
| Normal Flow | This use case is equivalent to the SMTP Outbound Use Case. The difference is that the location attribute of the |
| Exception Flow | |
| Post Condition |
| ID | RT-UC-6 |
|---|---|
| Use Case Name | Support for HTML Formatted email This usecase is similar to the SMTP Outbound scenario only with the difference that the content of the soap message is a HTML text. |
| Requirements Addressed | RT-6 |
| Pre Condition | A deployed BPEL project with a BPEL that is triggered by a web service client using a concrete HTTP/SOAP Binding. The BPEL invokes a web service operation with a concrete SMTP Binding |
| Normal Flow | The usecase is equivalent to RT-UC-1. The input message for this usecase should be a HTML formatted text. |
| Exception Flow | |
| Post Condition | A mail message should appear at the account specified by the âToâ address in the SMTP message. The content of the mail should be formatted according to the HTML format of the input. |
| ID | RT-UC-7 |
|---|---|
| Use Case Name | Sending delivery status failure notification emails This usecase is similar to the SMTP Outbound scenario. If the sending of the mail fails because of some reason, a delivery status notificaton email should be sent to the email Id specified in the email address. |
| Requirements Addressed | RT-7 |
| Pre Condition | A deployed BPEL project with a BPEL that is triggered by a web service client using a concrete HTTP/SOAP Binding. The BPEL invokes a web service operation with a concrete SMTP Binding. |
| Normal Flow | The usecase is equivalent to RT-UC-1. If the SMTP BC finds that there is some error in sending email to any one of the destination specified in âtoâ, âccâ or âbccâ list, a delivery status notification email should be sent to the email id specified in âfromâ address. |
| Exception Flow | |
| Post Condition | A delivery status notification mail should appear in the mail box of the from email address with the reason for not delivering and the email ids failed. |
| ID | RT-UC-8 |
|---|---|
| Use Case Name | Configurable SMTP Port The User should be able to specify the port on which the SMTP BC's SMTP Server should listen. |
| Requirements Addressed | RT-8 |
| Pre Condition | The WSDL of the SMTP Binding component should have the port no specified in âportâ attribute of the |
| Normal Flow | 1. Create a BPEL module project with SMTP BC and File BC for an inbound scenario. 2. Deploy the project in the App. Server and start the Service Assembly. |
| Exception Flow | The SMTP Server should not start if the port is busy. |
| Post Condition | The SMTP BC's SMTP Server should listen on the port mentioned by the user instead of the default port â25â. |
| ID | RT-UC-9 |
|---|---|
| Use Case Name | Encoder support The SMTP BC should be able to encode and decode the email message according to the âencodingStyleâ specified in the wsdl extension. |
| Requirements Addressed | RT-9 |
| Pre Condition | The WSDL of the SMTP Binding component should have use=âencodedâ and encodingStyle=â |
| Normal Flow | Inbound Scenario : The BC should be able to decode the message according to the encoding style and pass the normalized message to the NMR. Outbound Scenario: The BC should be able to encode the message according to the encoding style and send the email to its destination. |
| Exception Flow | An error message should appear in the log if the encodingStyle specified is not supported or unknown. |
| Post Condition | Inbound Scenario: The NMR should receive the decoded form of the email. Outbound Scenario: The email message should appear encoded in the mail box. |
| ID | RT-UC-10 |
|---|---|
| Use Case Name | Ability to connect to external SMTP Servers which require authentication and SSL. The User should be able to provide authentication information such as username , password and ssl port for connecting to SMTP Servers which require authentication and ssl. The SMTP BC should be able to connect to such servers and send e-mails. |
| Requirements Addressed | RT-10 |
| Pre Condition | A deployed BPEL project with a BPEL that is triggered by a web service client using a concrete HTTP/SOAP Binding. The BPEL invokes a web service operation with a concrete SMTP Binding. The user should have provided username and password and useSSL=âtrueâ in the WSDL extensibility elements. |
| Normal Flow | The flow is the same as SMTP Outbound Scenario. |
| Exception Flow | |
| Post Condition | A mail message should appear at the account specified by the âToâ address in the SMTP message. |
| ID | RT-UC-11 |
|---|---|
| Use Case Name | Ability to specify the email ids in âtoâ, âccâ and âbccâ list in the runtime. The user uses bpel mapper to specify the email ids in âtoâ, âccâ and âbccâ attributes. The SMTP Binding component should be able to parse the message part in those attributes and send emails to those Ids. |
| Requirements Addressed | RT-11 |
| Pre Condition | A deployed BPEL project with a BPEL that is triggered by a web service client using a concrete HTTP/SOAP Binding. The BPEL invokes a web service operation with a concrete SMTP Binding. The User should have âtoâ,âccâ and âbccâ attributes in the |
| Normal Flow | The flow is the same as SMTP Outbound Scenario. |
| Exception Flow | |
| Post Condition | A mail message should appear at the account specified by the âtoâ , âccâ and âbccâ addresses. |