240 likes | 388 Views
INTRODUCING SOA AND WORKFLOW MODELING TO NON-TECHNICAL 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.
E N D
INTRODUCING SOA AND WORKFLOW MODELING TO NON-TECHNICAL 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”
What software permits visual modeling of business processes and outputs BPEL? AquaLogic (formerly FuegoBPM)
Business Process Change: A Manager's Guide to Improving, Redesigning, and Automating Processes (2002)
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.