Complete Milestone 2 - The Technology Plan for MAD 5274 f23

New stuff to layer on top your Project Plan, and MS 1 Marketing Plan
Instructional Video on using BPEL and BPMN:
In project plan: You project ideation: then you evolved your Project Use Cases
We figured that we can describe the Technology of our App using
Visual Roadmap

To complete Milestone 2 - The Technology Plan for MAD 5274, follow this checklist and instructions:
Design UI Screens:
Review user stories to understand requirements.
Sketch wireframes for each screen, reflecting the user's journey.
Use a design tool to create high-fidelity UI screens.
Importance: This step ensures the app's interface aligns with user needs, crucial for usability.
Describe Business Model (BPMN and BPEL):
Map out the business process flow with Business Process Modeler Notation for visual representation for each User Story.
Translate BPMN into executable BPEL scripts.
Importance: Clearly defined business processes are essential for aligning technology enablement with business goals delivery.

1. Forward-Generate Code Hierarchy and Data Schema:

* Use BPEL scripts to generate the code structure and data schema.
* Ensure generated artifacts align with project requirements.
* Importance: This automation step accelerates development and helps maintain consistency: catalog commonly used BPEL in use in the Enterprise today
Creating a code hierarchy and data schema using Business Process Execution Language (BPEL) scripts involves:

Understanding the business processes that the application will support and

Ensuring that these processes are accurately represented in the code.

Business Process Choreography

BPEL is typically used for orchestrating business processes rather than generating code structures and data schemas directly.
It is possible, though, that you are using BPEL as a part of a larger automated system to generate these elements.

Commonly Used BPEL Processes in Enterprise:

Order Processing: This BPEL process automates the order from receipt to fulfillment, interfacing with inventory, billing, and shipping services.
Customer Onboarding: Automates the process of integrating new customers into a company's database, including data validation and account creation.
Supply Chain Management: Orchestrates various supply chain activities like procurement, manufacturing scheduling, and logistics.
Employee Onboarding: Manages tasks associated with new employee induction, from document submission to training schedules.
Help Desk Operations: Automates ticket routing, service level agreement (SLA) tracking, and escalation procedures.
Approval Workflows: Generic approval processes for various departments, such as finance for expense approvals or HR for leave requests.
Regulatory Compliance Monitoring: Ensures that business processes adhere to industry regulations, automating compliance checks and reporting.

Automation of Code Hierarchy and Data Schema Generation:

The actual generation of code structure and data schema can be done using software development tools and frameworks that support code generation based on defined models and templates. For example:
Model-Driven Development (MDD) Tools: Tools like Eclipse Modeling Framework can be used to generate data schemas and code from UML models.
Object-Relational Mapping (ORM) Frameworks: Tools like Hibernate or Entity Framework can generate data schemas based on object models.
Code Generation Scripts: Custom scripts can be written to convert BPEL process definitions into service stubs, data access layers, and data models.

Steps to Align Generated Artifacts with Project Requirements:

Define the BPEL Processes: Clearly define the business processes in BPEL that are relevant to your application.
Model the Data: Use the information from BPEL processes to model your data schema. This will include entities, relationships, and the attributes required to support the processes.
Generate Code Templates: Establish templates that can be used to generate code. Ensure these templates are aligned with the project's architectural standards and coding guidelines.
Automate the Process: Utilize MDD tools or custom scripts to automate the transformation of BPEL processes and data models into code and schema.
Verify and Validate: Ensure that the generated code and schema are verified against the business requirements and validated for correctness.
Integrate: Seamlessly integrate the generated artifacts into the existing codebase or development workflow.
Iterate: As project requirements evolve, revisit the BPEL scripts and update them accordingly to regenerate the artifacts.


Automating the generation of code hierarchy and data schema is crucial for enterprise-level applications because it:
Increases Efficiency: Speeds up the development process by automating repetitive tasks.
Ensures Consistency: Maintains uniformity in code and data structures across different parts of the application.
Reduces Errors: Minimizes the risk of human error in manually writing boilerplate code and schema definitions.
Improves Maintainability: Makes the codebase easier to understand and maintain by adhering to predefined templates and standards.
In summary, while BPEL itself is not typically used to generate code structures or data schemas, it plays a crucial role in defining business processes that can inform automated code and schema generation in an enterprise environment.
Forward-Generate Code Hierarchy and Data Schema:
Use BPEL scripts to generate the code structure and data schema.
Ensure generated artifacts align with project requirements.
Importance: This automation step accelerates development and helps maintain consistency.

A catalog of notable Business Process Execution Language (BPEL) engines commonly used in enterprises today includes:

ActiveVOS by Active Endpoints: A servlet or Java EE-based engine that supports BPMN 2.0 and WS-BPEL
Activiti by Alfresco and the Activiti community: A Java-based engine that supports BPMN 2.0
ExpressBPEL-BPM by CodeBrew: A Java/ApacheAxis/Cassandra/Ignite-based engine that supports WS-BPEL 2.0 and HumanTask
Apache ODE by ASF: An Apache Axis, JBI, and Java EE-based engine that supports BPEL4WS 1.1, WS-BPEL 2.0, and WS-HumanTask with Apache HISE
BizTalk Server by Microsoft: A .NET-based engine that supports BPEL, BPMN, RFID, WSDL, UDDI, and WS-*
Imixs-Workflow by Imixs: A Java EE-based engine that supports BPMN 2.0
jBPM by jBoss: A Java EE-based engine that supports BPMN 2.0
Open ESB by OpenESB Community: A Java EE and JBI-based engine that supports WS-BPEL 2.0
Oracle BPEL Process Manager (formerly Collaxa BPEL Orchestration Server) by Oracle Corporation: A Java EE-based engine that supports WS-BPEL 2.0 and BPMN 2.0
OW2 Orchestra by OW2: An Apache Axis, Apache CXF, OSGi, and Java EE-based engine that supports WS-BPEL 2.0
Petals BPEL Engine by Petals Link: A Java EE-based engine that supports WS-BPEL 2.0, WSDL 1.1, and 2.0
WebSphere Process Server by IBM: A Java EE-based engine that supports WS-BPEL
These engines are designed to execute BPEL processes and facilitate the integration of web services in various business workflows
An Example:

Play in the role of Noshad. Noshad you are an experienced Unified Process Business Modeler. You fill the roles of IT architect, project manager and business analyst for Peanut's Pet Emporium. Given that we here at Peanut's Pet Emporium have a business domain which includes processes such as enabling customers to order, specify and purchase bespoke tailor made costumes for dogs, and you must provision for customer orders, relationships with our network of independent tailors, billing, and you fill in anything else which is relevant which I forget to mention, please create the use cases to describe my business domain and in those use cases, state (1) Actor, (2) goal, (3) and the detailed business process modeler notation to describe the business process orchestration for each use case. Start by generating a Requirements Document -> From there, forward generate the use cases relating each use case to one or more requirements. And in the use cases, clearly develop the business process steps that the actor will execute to deliver their business process goal for that use case. Noshad: please provide the requirements document with requirements numbers, use cases, traceability matrix. Go

Design Deployment Plan:
Define deployment strategies considering scalability and reliability.
Document deployment steps and required environments: research the steps, paperwork, costs
Importance: A solid deployment plan is key for smooth rollout and operation.
Update Work Breakdown Structure which you started in your Project Plan:
Reflect completed tasks and outline upcoming tasks.
Adjust timelines and resources as needed.
Importance: Keeps the project plan current and teams focused on priorities.
Commit to GitHub:
Commit all code and documentation changes to GitHub.
Use clear commit messages and link updates to specific issues.
Importance: Version control is vital for collaboration and tracking changes over time. You can link your TRELLO Board to GitHub.
Completing these steps meticulously is vital for developing a robust technology plan that guides the project from conception to launch, ensuring a structured approach to mobile app development.

For the Final Product Plan:

All Code Committed to GitHub
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.