Index Changes

Requirements

System

System requirements are mostly engineering level requirements. They put constraints on how the component should be engineered.
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

Installation

Installation requirements are constraints on how the component should be installed and what should be available before, during, and after installation of the component.
ID Description Release Priority
I-1 Full Javadocs and Documentation P1

Design Time

Design time requirements are application-level requirements that the product must satisfy during design-time. Most design-time constraints refer to how the user interacts with the Netbeans GUI.
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

Runtime

Runtime requirements are application-level requirements that the product must satisfy during runtime. The runtime constraints detail how the component should act during the actual processing of messages in the JBI Framework.
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 ), have comments, and use routing as per RFC 822 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

Use Cases

Use Cases describe particular scenarios that a user will go through in interacting with the product.
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 gener
2000 ated 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 is set to variations of the mailto URL scheme.
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 node to a port.
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 node to a port.
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 element will include a valid mailto URL that contains bcc and cc headers. In an Outbound Use Case, the SMTP BC will send the same message to each address specified in the bcc and cc headers as well as the original mailto recipient.
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=”” specified.
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.
Outb
2000 ound 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 tag and the values of those attributes should evaluate to valid comma separated email ids in the runtime.
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.

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-37) was last changed on 01-Oct-07 12:28 PM, -0700 by MarkWhite