INTRODUCING SOA AND WORKFLOW MODELING TO NONTECHNICAL STUDENTS Bruce J. Neubauer University of South Florida Paper is intended to be a contribution to Pedagogy and to MIS Generalist managers need to understand some implications of software engineering. Programmers increasingly have reason to understand business processes. Convergent engineering is the concurrent design of software applications and the business processes supported. See David Taylor. Familiar Benefits of Modular Design of Software Applications “Divide and conquer” approach to complexity Facilitates coordination of team members Project easier to document and comprehend Opportunities for code reuse Application easier to maintain Traditional Distributed Applications Remote procedure calls across local networks Calls to DBMS’s within organizations. CORBA DCOM CORBA Standards Source: Wikipedia.com Web Services Standards Source: Wikipedia.com Web Services Standards Built on Internet protocols Facilitate creation of distributed applications for the Internet and intranets Generally do not hold state Tend to be slow because of overhead required by use of SOAP and XML Used to implement Service Oriented Architectures Service-oriented Architecture (SOA) Distributed systems in which some of the modules of software are Web Services Involves the concept of SERVICES, that is not necessarily intuitive to either programmers or to business analysts Service-oriented Architecture (SOA) As I understand it, the design goal is not only to design the software code, but to integrate the design of business processes into the design of the software code. Blurs the distinction between (business) analysis and design The goal is convergent engineering as envisioned by David Taylor Business Process Modeling Language (BPML) is a meta-language for the modeling of business processes, just as XML is a meta-language for the modeling of business data. BPML was a proposed language, that has been dropped in favor of BPEL4WS. Source: Wikipedia.com Business Process Execution Language (BPEL) BPEL's focus on modern business processes, BPEL uses Web services BPEL is an orchestration language Supports “programming in the large” Orchestration and Choreography Workflow Design What software permits visual modeling of business processes and outputs BPEL? AquaLogic (formerly FuegoBPM) The Interface is Intuitive Business Process Change: A Manager's Guide to Improving, Redesigning, and Automating Processes (2002) Simple Business Process Model Convergent Engineering We are designing both business processes and the software that automates processes We define Roles, Rules and Activities We identify unconditional and conditional paths between activities We identify sub processes to address complexity Convergent Design Who are the actors (roles) in this business process? What activies must be performed in what order? Under what circumstances must conditional paths be possible? What might we outsource using Web Services? Web Services and SOA An activity can be implemented as a Web service and outsourced beyond the focal organization. A Web service may be used to tap into part of the functionality of a legacy system, within or outside of a focal organization. Business Process Using Multiple Web Services Verify customer’s credit Verify history of trade in vehicle Get three finance offers Calculate license plate fee Notify insurance company Conclusions There is something important here. BizTalk Server, orchestration, choreography of Web Services, convergent engineering Service Oriented Architecture On my first effort to teach this, I found the to actually do the design of business processes. The BEA software got in the way of learning.